4 require( dirname( __FILE__
) . '/../commandLine.inc' );
5 // XXX: This can go away if everyone switches to PHPUnit 3.5
6 if ( @file_get_contents
( 'PHPUnit/Autoload.php', true ) !== false ) {
7 // Works for PHPUnit >= 3.5
8 require_once 'PHPUnit/Autoload.php';
10 // Works for PHPUnit < 3.5
11 require_once 'PHPUnit/TextUI/Command.php';
13 define( 'MW_PHPUNIT_TEST', 1 );
15 $wgLocaltimezone = 'UTC';
17 /* Tests were failing with sqlite */
19 $wgCaches[CACHE_DB
] = false;
21 if ( !version_compare( PHPUnit_Runner_Version
::id(), "3.4.1", ">" ) ) {
23 ************************************************************
25 These tests run best with version PHPUnit 3.4.2 or later.
26 Earlier versions may show failures because earlier versions
27 of PHPUnit do not properly implement dependencies.
29 ************************************************************
34 class MWPHPUnitCommand
extends PHPUnit_TextUI_Command
{
35 protected function handleCustomTestSuite() {
36 $suite = new PHPUnit_Framework_TestSuite
;
37 if ( !empty( $this->options
[1] ) ) {
38 $files = $this->options
[1];
40 require( dirname( __FILE__
) . '/TestFileList.php' );
42 wfRunHooks( 'UnitTestsList', array( &$files ) );
44 foreach ( $files as $file ) {
45 $suite->addTestFile( $file );
47 $suite->setName( 'MediaWiki test suite' );
48 $this->arguments
['test'] = $suite;
52 $command = new MWPHPUnitCommand
;
53 $command->run( $argv );