X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FMediaWikiTestCase.php;h=c2eebfae0a206b4b2f00258b3eebb2aa3c0b4597;hb=0ef2a58569ac1c3602454db726addb88b4724cc8;hp=df3d5681d72117402832ab25f10479bc9eecdf72;hpb=36127c29c2d564cc723b6e1cfccca9ba1a0240c8;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/MediaWikiTestCase.php b/tests/phpunit/MediaWikiTestCase.php index df3d5681d7..c2eebfae0a 100644 --- a/tests/phpunit/MediaWikiTestCase.php +++ b/tests/phpunit/MediaWikiTestCase.php @@ -215,6 +215,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { protected static function resetGlobalServices( Config $bootstrapConfig = null ) { $oldServices = MediaWikiServices::getInstance(); $oldConfigFactory = $oldServices->getConfigFactory(); + $oldLoadBalancerFactory = $oldServices->getDBLoadBalancerFactory(); $testConfig = self::makeTestConfig( $bootstrapConfig ); @@ -223,6 +224,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { $serviceLocator = MediaWikiServices::getInstance(); self::installTestServices( $oldConfigFactory, + $oldLoadBalancerFactory, $serviceLocator ); return $serviceLocator; @@ -278,12 +280,14 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { /** * @param ConfigFactory $oldConfigFactory + * @param LBFactory $oldLoadBalancerFactory * @param MediaWikiServices $newServices * * @throws MWException */ private static function installTestServices( ConfigFactory $oldConfigFactory, + LBFactory $oldLoadBalancerFactory, MediaWikiServices $newServices ) { // Use bootstrap config for all configuration. @@ -297,6 +301,13 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { [ 'main' => $bootstrapConfig ] ) ); + $newServices->resetServiceForTesting( 'DBLoadBalancerFactory' ); + $newServices->redefineService( + 'DBLoadBalancerFactory', + function ( MediaWikiServices $services ) use ( $oldLoadBalancerFactory ) { + return $oldLoadBalancerFactory; + } + ); } /** @@ -309,7 +320,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { ConfigFactory $oldFactory, array $configurations ) { - return function( MediaWikiServices $services ) use ( $oldFactory, $configurations ) { + return function ( MediaWikiServices $services ) use ( $oldFactory, $configurations ) { $factory = new ConfigFactory(); // clone configurations from $oldFactory that are not overwritten by $configurations @@ -829,6 +840,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { $oldInstance = MediaWikiServices::getInstance(); $oldConfigFactory = $oldInstance->getConfigFactory(); + $oldLoadBalancerFactory = $oldInstance->getDBLoadBalancerFactory(); $testConfig = self::makeTestConfig( null, $configOverrides ); $newInstance = new MediaWikiServices( $testConfig ); @@ -847,6 +859,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { self::installTestServices( $oldConfigFactory, + $oldLoadBalancerFactory, $newInstance ); MediaWikiServices::forceGlobalInstance( $newInstance );