61 lines
1.7 KiB
PHP
Executable file
61 lines
1.7 KiB
PHP
Executable file
#!/usr/bin/env php
|
|
<?php
|
|
/**
|
|
* Bootstrapping for MediaWiki PHPUnit tests
|
|
*
|
|
* @file
|
|
*/
|
|
|
|
/* Configuration */
|
|
|
|
// Evaluate the include path relative to this file
|
|
$IP = dirname( dirname( dirname( __FILE__ ) ) );
|
|
|
|
// Set a flag which can be used to detect when other scripts have been entered through this entry point or not
|
|
define( 'MW_PHPUNIT_TEST', true );
|
|
|
|
// Start up MediaWiki in command-line mode
|
|
require_once( "$IP/maintenance/Maintenance.php" );
|
|
|
|
class PHPUnitMaintClass extends Maintenance {
|
|
public function finalSetup() {
|
|
parent::finalSetup();
|
|
|
|
global $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType, $wgUseDatabaseMessages;
|
|
global $wgLocaltimezone, $wgLocalisationCacheConf;
|
|
|
|
$wgMainCacheType = CACHE_NONE;
|
|
$wgMessageCacheType = CACHE_NONE;
|
|
$wgParserCacheType = CACHE_NONE;
|
|
|
|
$wgUseDatabaseMessages = false; # Set for future resets
|
|
|
|
// Assume UTC for testing purposes
|
|
$wgLocaltimezone = 'UTC';
|
|
|
|
$wgLocalisationCacheConf['storeClass'] = 'LCStore_Null';
|
|
}
|
|
public function execute() { }
|
|
public function getDbType() {
|
|
return Maintenance::DB_ADMIN;
|
|
}
|
|
}
|
|
|
|
$maintClass = 'PHPUnitMaintClass';
|
|
require( RUN_MAINTENANCE_IF_MAIN );
|
|
|
|
if( !in_array( '--configuration', $_SERVER['argv'] ) ) {
|
|
//Hack to eliminate the need to use the Makefile (which sucks ATM)
|
|
$_SERVER['argv'][] = '--configuration';
|
|
$_SERVER['argv'][] = $IP . '/tests/phpunit/suite.xml';
|
|
}
|
|
|
|
require_once( 'PHPUnit/Runner/Version.php' );
|
|
if( version_compare( PHPUnit_Runner_Version::id(), '3.5.0', '<' ) ) {
|
|
die( 'PHPUnit 3.5 or later required, you have ' . PHPUnit_Runner_Version::id() . ".\n" );
|
|
}
|
|
require_once( 'PHPUnit/Autoload.php' );
|
|
|
|
require_once( "$IP/tests/TestsAutoLoader.php" );
|
|
MediaWikiPHPUnitCommand::main();
|
|
|