From acf116d448e1f01e95f6dbad4690dad2c1657644 Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Sun, 7 Feb 2010 16:42:50 +0000 Subject: [PATCH] * Modified MediaWiki_Setup to use the normal mechanism to get a database connection * Include commandLine.inc from bootstrap.php to get admin credentials * Marked SearchEngineTest as stub and exclude it --- maintenance/tests/MediaWiki_Setup.php | 39 +++++++++++--------------- maintenance/tests/SearchEngineTest.php | 4 +-- maintenance/tests/SearchMySQL4Test.php | 2 +- maintenance/tests/bootstrap.php | 15 ++-------- maintenance/tests/phpunit.xml | 1 + 5 files changed, 23 insertions(+), 38 deletions(-) diff --git a/maintenance/tests/MediaWiki_Setup.php b/maintenance/tests/MediaWiki_Setup.php index da42893c8c..c0fba273f5 100644 --- a/maintenance/tests/MediaWiki_Setup.php +++ b/maintenance/tests/MediaWiki_Setup.php @@ -1,45 +1,40 @@ markTestIncomplete("This test requires DB admin user credentials."); - $wgDBprefix = 'parsertest_'; + global $wgDBprefix; + + $db = wfGetDB( DB_MASTER ); + $oldTableNames = array(); + foreach( $tables as $table ) + $oldTableNames[$table] = $db->tableName( $table ); + $db->tablePrefix( 'parsertest_' ); - $db = new DatabaseMysql( - $wgDBserver, - $wgDBadminuser, - $wgDBadminpassword, - $wgDBname ); if( $db->isOpen() ) { - if (!(strcmp($db->getServerVersion(), '4.1') < 0 and stristr($db->getSoftwareLink(), 'MySQL'))) { + if ( !( strcmp( $db->getServerVersion(), '4.1' ) < 0 and $db->getType() == 'mysql' ) ) { # Database that supports CREATE TABLE ... LIKE - foreach ($tables as $tbl) { + foreach ( $tables as $tbl ) { $newTableName = $db->tableName( $tbl ); - #$tableName = $this->oldTableNames[$tbl]; - $tableName = $tbl; - $db->query("CREATE TEMPORARY TABLE $newTableName (LIKE $tableName)"); + $tableName = $oldTableNames[$tbl]; + $db->query( "CREATE TEMPORARY TABLE $newTableName (LIKE $tableName)" ); } } else { # Hack for MySQL versions < 4.1, which don't support # "CREATE TABLE ... LIKE". Note that # "CREATE TEMPORARY TABLE ... SELECT * FROM ... LIMIT 0" # would not create the indexes we need.... - foreach ($tables as $tbl) { - $res = $db->query("SHOW CREATE TABLE $tbl"); + foreach ( $tables as $tbl ) { + $res = $db->query( "SHOW CREATE TABLE $tbl" ); $row = $db->fetchRow($res); $create = $row[1]; - $create_tmp = preg_replace('/CREATE TABLE `(.*?)`/', 'CREATE TEMPORARY TABLE `' - . $wgDBprefix . '\\1`', $create); + $create_tmp = preg_replace( '/CREATE TABLE `(.*?)`/', 'CREATE TEMPORARY TABLE `' + . $wgDBprefix . '\\1`', $create ); if ($create === $create_tmp) { # Couldn't do replacement wfDie( "could not create temporary table $tbl" ); } - $db->query($create_tmp); + $db->query( $create_tmp ); } } diff --git a/maintenance/tests/SearchEngineTest.php b/maintenance/tests/SearchEngineTest.php index dd3367a9f3..0cae2d42f6 100644 --- a/maintenance/tests/SearchEngineTest.php +++ b/maintenance/tests/SearchEngineTest.php @@ -2,9 +2,9 @@ require_once( 'MediaWiki_Setup.php' ); -/** @todo document +/** + * @group Stub */ - class SearchEngineTest extends MediaWiki_Setup { var $db, $search; diff --git a/maintenance/tests/SearchMySQL4Test.php b/maintenance/tests/SearchMySQL4Test.php index 4fe4d5440c..e3bee8673d 100644 --- a/maintenance/tests/SearchMySQL4Test.php +++ b/maintenance/tests/SearchMySQL4Test.php @@ -16,7 +16,7 @@ class SearchMySQL4Test extends SearchEngineTest { function tearDown() { if( !is_null( $this->db ) ) { - $this->db->close(); + wfGetLB()->closeConnecton( $this->db ); } unset( $this->db ); unset( $this->search ); diff --git a/maintenance/tests/bootstrap.php b/maintenance/tests/bootstrap.php index 91ffdbef3a..019bee071a 100644 --- a/maintenance/tests/bootstrap.php +++ b/maintenance/tests/bootstrap.php @@ -7,20 +7,9 @@ * @file */ -global $wgCommandLineMode, $IP; -$wgCommandLineMode = true; +global $wgCommandLineMode, $IP, $optionsWithArgs; $IP = dirname( dirname( dirname( __FILE__ ) ) ); - -define( 'MEDIAWIKI', true ); define( 'MW_PHPUNIT_TEST', true ); -require_once( "$IP/includes/Defines.php" ); -require_once( "$IP/includes/AutoLoader.php" ); -require_once( "$IP/LocalSettings.php" ); -require_once( "$IP/includes/ProfilerStub.php" ); -require_once( "$IP/includes/GlobalFunctions.php" ); -require_once( "$IP/includes/Hooks.php" ); -$self = __FILE__; -require_once( "$IP/includes/Setup.php" ); - +require_once( "$IP/maintenance/commandLine.inc" ); diff --git a/maintenance/tests/phpunit.xml b/maintenance/tests/phpunit.xml index 58e50e6ac8..ce7d44f551 100644 --- a/maintenance/tests/phpunit.xml +++ b/maintenance/tests/phpunit.xml @@ -11,6 +11,7 @@ Broken + Stub \ No newline at end of file -- 2.20.1