From: Aaron Schulz Date: Fri, 23 Sep 2016 22:59:22 +0000 (-0700) Subject: Avoid DatabaseBase type errors in setupDatabaseWithTestPrefix() X-Git-Tag: 1.31.0-rc.0~5339^2 X-Git-Url: https://git.cyclocoop.org/admin/%7B%24plugin.url%7Cescape%7D?a=commitdiff_plain;h=e37bb560c49380299ff626ad63db91fc98e05eb6;p=lhc%2Fweb%2Fwiklou.git Avoid DatabaseBase type errors in setupDatabaseWithTestPrefix() Change-Id: I94cc0672a487d547a09c27997fe36274d7d62977 --- diff --git a/tests/phpunit/MediaWikiTestCase.php b/tests/phpunit/MediaWikiTestCase.php index 43577ca7b9..3cfd0b6da9 100644 --- a/tests/phpunit/MediaWikiTestCase.php +++ b/tests/phpunit/MediaWikiTestCase.php @@ -1178,19 +1178,23 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { * Gets master database connections for all of the ExternalStoreDB * stores configured in $wgDefaultExternalStore. * - * @return array Array of DatabaseBase master connections + * @return DatabaseBase[] Array of DatabaseBase master connections */ protected static function getExternalStoreDatabaseConnections() { global $wgDefaultExternalStore; + /** @var ExternalStoreDB $externalStoreDB */ $externalStoreDB = ExternalStore::getStoreObject( 'DB' ); $defaultArray = (array) $wgDefaultExternalStore; $dbws = []; foreach ( $defaultArray as $url ) { if ( strpos( $url, 'DB://' ) === 0 ) { list( $proto, $cluster ) = explode( '://', $url, 2 ); - $dbw = $externalStoreDB->getMaster( $cluster ); + // Avoid getMaster() because setupDatabaseWithTestPrefix() + // requires DatabaseBase instead of plain DBConnRef/IDatabase + $lb = $externalStoreDB->getLoadBalancer( $cluster ); + $dbw = $lb->getConnection( DB_MASTER ); $dbws[] = $dbw; } }