test: inject autoloader in Maintenance class
authorAntoine Musso <hashar@free.fr>
Mon, 20 May 2013 11:19:13 +0000 (13:19 +0200)
committerAlexandre Emsenhuber <ialex.wiki@gmail.com>
Sat, 1 Jun 2013 07:27:11 +0000 (09:27 +0200)
We used to inject the test autoloader from the global space after the
Maintenance class has been initialized.  That prevents us from using
tests classes (such as Mock) during the Maintenance setup.

This patch move the TestsAutoLoader.php require() at the beginning of
finalSetup() which would let use Mock classes.

Change-Id: Ia402eafae8407d1516e3d200ac97539e3681fdc6

tests/phpunit/phpunit.php

index 7a22bd4..deef745 100755 (executable)
@@ -33,6 +33,9 @@ class PHPUnitMaintClass extends Maintenance {
                global $wgLocaltimezone, $wgLocalisationCacheConf;
                global $wgDevelopmentWarnings;
 
+               // Inject test autoloader
+               require_once __DIR__ . '/../TestsAutoLoader.php';
+
                // wfWarn should cause tests to fail
                $wgDevelopmentWarnings = true;
 
@@ -108,6 +111,4 @@ if ( PHPUnit_Runner_Version::id() !== '@package_version@'
        die( 'PHPUnit 3.6.7 or later required, you have ' . PHPUnit_Runner_Version::id() . ".\n" );
 }
 require_once 'PHPUnit/Autoload.php';
-
-require_once "$IP/tests/TestsAutoLoader.php";
 MediaWikiPHPUnitCommand::main();