X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fphpunit.php;h=d8171044f3b813c6deda6731b7f66d49d176cb51;hb=1ba29a598d549e6ea9a67fed3b7f42a2a56c7e03;hp=acd857515090fb4f848c880286257a03dd8c08d7;hpb=df29a359f85e31726e929ac22ebe6eb10b6ac9f9;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/phpunit.php b/tests/phpunit/phpunit.php index acd8575150..d8171044f3 100755 --- a/tests/phpunit/phpunit.php +++ b/tests/phpunit/phpunit.php @@ -16,12 +16,10 @@ require_once dirname( dirname( __DIR__ ) ) . "/maintenance/Maintenance.php"; class PHPUnitMaintClass extends Maintenance { public static $additionalOptions = [ - 'regex' => false, 'file' => false, 'use-filebackend' => false, 'use-bagostuff' => false, 'use-jobqueue' => false, - 'keep-uploads' => false, 'use-normal-tables' => false, 'reuse-db' => false, 'wiki' => false, @@ -42,22 +40,10 @@ class PHPUnitMaintClass extends Maintenance { false, # not required false # no arg needed ); - $this->addOption( - 'regex', - 'Only run parser tests that match the given regex.', - false, - true - ); $this->addOption( 'file', 'File describing parser tests.', false, true ); $this->addOption( 'use-filebackend', 'Use filebackend', false, true ); $this->addOption( 'use-bagostuff', 'Use bagostuff', false, true ); $this->addOption( 'use-jobqueue', 'Use jobqueue', false, true ); - $this->addOption( - 'keep-uploads', - 'Re-use the same upload directory for each test, don\'t delete it.', - false, - false - ); $this->addOption( 'use-normal-tables', 'Use normal DB tables.', false, false ); $this->addOption( 'reuse-db', 'Init DB only if tables are missing and keep after finish.', @@ -69,104 +55,10 @@ class PHPUnitMaintClass extends Maintenance { public function finalSetup() { parent::finalSetup(); - global $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType, $wgMainWANCache; - global $wgMainStash; - global $wgLanguageConverterCacheType, $wgUseDatabaseMessages; - global $wgLocaltimezone, $wgLocalisationCacheConf; - global $wgDevelopmentWarnings; - global $wgSessionProviders, $wgSessionPbkdf2Iterations; - global $wgJobTypeConf; - global $wgAuthManagerConfig, $wgAuth; - // Inject test autoloader - require_once __DIR__ . '/../common/TestsAutoLoader.php'; - - // wfWarn should cause tests to fail - $wgDevelopmentWarnings = true; - - // Make sure all caches and stashes are either disabled or use - // in-process cache only to prevent tests from using any preconfigured - // cache meant for the local wiki from outside the test run. - // See also MediaWikiTestCase::run() which mocks CACHE_DB and APC. - - // Disabled in DefaultSettings, override local settings - $wgMainWANCache = - $wgMainCacheType = CACHE_NONE; - // Uses CACHE_ANYTHING in DefaultSettings, use hash instead of db - $wgMessageCacheType = - $wgParserCacheType = - $wgSessionCacheType = - $wgLanguageConverterCacheType = 'hash'; - // Uses db-replicated in DefaultSettings - $wgMainStash = 'hash'; - // Use memory job queue - $wgJobTypeConf = [ - 'default' => [ 'class' => 'JobQueueMemory', 'order' => 'fifo' ], - ]; - - $wgUseDatabaseMessages = false; # Set for future resets - - // Assume UTC for testing purposes - $wgLocaltimezone = 'UTC'; - - $wgLocalisationCacheConf['storeClass'] = 'LCStoreNull'; - - // Generic MediaWiki\Session\SessionManager configuration for tests - // We use CookieSessionProvider because things might be expecting - // cookies to show up in a FauxRequest somewhere. - $wgSessionProviders = [ - [ - 'class' => MediaWiki\Session\CookieSessionProvider::class, - 'args' => [ [ - 'priority' => 30, - 'callUserSetCookiesHook' => true, - ] ], - ], - ]; - - // Single-iteration PBKDF2 session secret derivation, for speed. - $wgSessionPbkdf2Iterations = 1; - - // Generic AuthManager configuration for testing - $wgAuthManagerConfig = [ - 'preauth' => [], - 'primaryauth' => [ - [ - 'class' => MediaWiki\Auth\TemporaryPasswordPrimaryAuthenticationProvider::class, - 'args' => [ [ - 'authoritative' => false, - ] ], - ], - [ - 'class' => MediaWiki\Auth\LocalPasswordPrimaryAuthenticationProvider::class, - 'args' => [ [ - 'authoritative' => true, - ] ], - ], - ], - 'secondaryauth' => [], - ]; - $wgAuth = new MediaWiki\Auth\AuthManagerAuthPlugin(); - - // Bug 44192 Do not attempt to send a real e-mail - Hooks::clear( 'AlternateUserMailer' ); - Hooks::register( - 'AlternateUserMailer', - function () { - return false; - } - ); - // xdebug's default of 100 is too low for MediaWiki - ini_set( 'xdebug.max_nesting_level', 1000 ); - - // Bug T116683 serialize_precision of 100 - // may break testing against floating point values - // treated with PHP's serialize() - ini_set( 'serialize_precision', 17 ); + self::requireTestsAutoloader(); - // TODO: we should call MediaWikiTestCase::prepareServices( new GlobalVarConfig() ) here. - // But PHPUnit may not be loaded yet, so we have to wait until just - // before PHPUnit_TextUI_Command::main() is executed. + TestSetup::applyInitialConfig(); } public function execute() {