public function finalSetup() {
parent::finalSetup();
- global $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType;
+ global $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType, $wgMainWANCache;
global $wgLanguageConverterCacheType, $wgUseDatabaseMessages;
global $wgLocaltimezone, $wgLocalisationCacheConf;
global $wgDevelopmentWarnings;
$wgDevelopmentWarnings = true;
$wgMainCacheType = CACHE_NONE;
+ $wgMainWANCache = CACHE_NONE;
$wgMessageCacheType = CACHE_NONE;
$wgParserCacheType = CACHE_NONE;
$wgLanguageConverterCacheType = CACHE_NONE;
public function execute() {
global $IP;
+ // Deregister handler from MWExceptionHandler::installHandle so that PHPUnit's own handler
+ // stays in tact.
+ // Has to in execute() instead of finalSetup(), because finalSetup() runs before
+ // doMaintenance.php includes Setup.php, which calls MWExceptionHandler::installHandle().
+ restore_error_handler();
+
$this->forceFormatServerArgv();
# Make sure we have --configuration or PHPUnit might complain
}
$key = array_search( '--debug-tests', $_SERVER['argv'] );
- if( $key !== false && array_search( '--printer', $_SERVER['argv'] ) === false ) {
+ if ( $key !== false && array_search( '--printer', $_SERVER['argv'] ) === false ) {
unset( $_SERVER['argv'][$key] );
array_splice( $_SERVER['argv'], 1, 0, 'MediaWikiPHPUnitTestListener' );
array_splice( $_SERVER['argv'], 1, 0, '--printer' );
}
- foreach( self::$additionalOptions as $option => $default ) {
+ foreach ( self::$additionalOptions as $option => $default ) {
$key = array_search( '--' . $option, $_SERVER['argv'] );
- if( $key !== false ) {
+ if ( $key !== false ) {
unset( $_SERVER['argv'][$key] );
- if( $this->mParams[$option]['withArg'] ) {
+ if ( $this->mParams[$option]['withArg'] ) {
self::$additionalOptions[$option] = $_SERVER['argv'][$key + 1];
unset( $_SERVER['argv'][$key + 1] );
} else {
*/
private function forceFormatServerArgv() {
$argv = array();
- foreach( $_SERVER['argv'] as $key => $arg ) {
- if( $key === 0 ) {
+ foreach ( $_SERVER['argv'] as $key => $arg ) {
+ if ( $key === 0 ) {
$argv[0] = $arg;
} elseif ( strstr( $arg, '=' ) ) {
- foreach( explode( '=', $arg, 2 ) as $argPart ) {
+ foreach ( explode( '=', $arg, 2 ) as $argPart ) {
$argv[] = $argPart;
}
} else {
$ok = false;
-foreach( array(
- stream_resolve_include_path( 'phpunit.phar' ),
- 'PHPUnit/Runner/Version.php',
- 'PHPUnit/Autoload.php'
-) as $includePath ) {
- @include_once( $includePath );
- if ( class_exists( 'PHPUnit_TextUI_Command' ) ) {
- $ok = true;
- break;
+if ( class_exists( 'PHPUnit_TextUI_Command' ) ) {
+ echo "PHPUnit already present\n";
+ $ok = true;
+} else {
+ foreach ( array(
+ stream_resolve_include_path( 'phpunit.phar' ),
+ 'PHPUnit/Runner/Version.php',
+ 'PHPUnit/Autoload.php'
+ ) as $includePath ) {
+ // @codingStandardsIgnoreStart
+ @include_once $includePath;
+ // @codingStandardsIgnoreEnd
+ if ( class_exists( 'PHPUnit_TextUI_Command' ) ) {
+ $ok = true;
+ echo "Using PHPUnit from $includePath\n";
+ break;
+ }
}
}
if ( !$ok ) {
- die( "Couldn't find a usable PHPUnit.\n" );
+ echo "Couldn't find a usable PHPUnit.\n";
+ exit( 1 );
}
$puVersion = PHPUnit_Runner_Version::id();
if ( $puVersion !== '@package_version@' && version_compare( $puVersion, '3.7.0', '<' ) ) {
- die( "PHPUnit 3.7.0 or later required; you have {$puVersion}.\n" );
+ echo "PHPUnit 3.7.0 or later required; you have {$puVersion}.\n";
+ exit( 1 );
}
PHPUnit_TextUI_Command::main();