diff options
Diffstat (limited to 'tests/phpunit/bootstrap.php')
-rw-r--r-- | tests/phpunit/bootstrap.php | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/phpunit/bootstrap.php b/tests/phpunit/bootstrap.php new file mode 100644 index 000000000000..81beb2bc4a99 --- /dev/null +++ b/tests/phpunit/bootstrap.php @@ -0,0 +1,65 @@ +<?php +/** + * Bootstrapping for MediaWiki PHPUnit tests + * This file is included by phpunit and is NOT in the global scope. + * + * @file + */ + +if ( !defined( 'MW_PHPUNIT_TEST' ) ) { + echo <<<EOF +You are running these tests directly from phpunit. You may not have all globals correctly set. +Running phpunit.php instead is recommended. +EOF; + require_once ( dirname( __FILE__ ) . "/phpunit.php" ); +} + +// Output a notice when running with older versions of PHPUnit +if ( !version_compare( PHPUnit_Runner_Version::id(), "3.4.1", ">" ) ) { + echo <<<EOF +******************************************************************************** + +These tests run best with version PHPUnit 3.4.2 or better. Earlier versions may +show failures because earlier versions of PHPUnit do not properly implement +dependencies. + +******************************************************************************** + +EOF; +} + +global $wgLocalisationCacheConf, $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType; +global $wgMessageCache, $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry; +$wgLocalisationCacheConf['storeClass'] = 'LCStore_Null'; +$wgMainCacheType = CACHE_NONE; +$wgMessageCacheType = CACHE_NONE; +$wgParserCacheType = CACHE_NONE; +$wgUseDatabaseMessages = false; # Set for future resets + +# The message cache was already created in Setup.php +$wgMessageCache = new StubObject( 'wgMessageCache', 'MessageCache', + array( $messageMemc, $wgUseDatabaseMessages, $wgMsgCacheExpiry ) ); + +/* Classes */ + +abstract class MediaWikiTestSetup extends PHPUnit_Framework_TestCase { + protected $suite; + public $regex = ''; + public $runDisabled = false; + + function __construct( PHPUnit_Framework_TestSuite $suite = null ) { + if ( null !== $suite ) { + $this->suite = $suite; + } + } + + function __call( $func, $args ) { + if ( method_exists( $this->suite, $func ) ) { + return call_user_func_array( array( $this->suite, $func ), $args); + } else { + throw new MWException( "Called non-existant $func method on " + . get_class( $this ) ); + } + } +} + |