X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/tests/common/TestSetup.php diff --git a/tests/common/TestSetup.php b/tests/common/TestSetup.php new file mode 100644 index 00000000..3733e60f --- /dev/null +++ b/tests/common/TestSetup.php @@ -0,0 +1,113 @@ + [ 'class' => 'JobQueueMemory', 'order' => 'fifo' ], + ]; + + $wgUseDatabaseMessages = false; # Set for future resets + + // Assume UTC for testing purposes + $wgLocaltimezone = 'UTC'; + + $wgLocalisationCacheConf['storeClass'] = 'LCStoreNull'; + + // Do not bother updating search tables + $wgSearchType = 'SearchEngineDummy'; + + // 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(); + + // T46192 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 ); + + // 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. + } + +}