X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fphpunit%2FMediaWikiTestCase.php;h=4afe7105800c7afc00287dee2d553d7bf43b9611;hp=c2eebfae0a206b4b2f00258b3eebb2aa3c0b4597;hb=fb79f30319b9ad2a7eb0f5f4d1668143ec8f963e;hpb=3431ab6d07a119e928aa1538a49984e790dc6ce7 diff --git a/tests/phpunit/MediaWikiTestCase.php b/tests/phpunit/MediaWikiTestCase.php index c2eebfae0a..4afe710580 100644 --- a/tests/phpunit/MediaWikiTestCase.php +++ b/tests/phpunit/MediaWikiTestCase.php @@ -5,6 +5,8 @@ use MediaWiki\Logger\LoggerFactory; use MediaWiki\Logger\MonologSpi; use MediaWiki\MediaWikiServices; use Psr\Log\LoggerInterface; +use Wikimedia\Rdbms\IMaintainableDatabase; +use Wikimedia\Rdbms\Database; use Wikimedia\TestingAccessWrapper; /** @@ -638,8 +640,8 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { * The key is added to the array of globals that will be reset afterwards * in the tearDown(). * - * @example - * + * @par Example + * @code * protected function setUp() { * $this->setMwGlobals( 'wgRestrictStuff', true ); * } @@ -654,7 +656,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { * } * * function testQuux() {} - * + * @endcode * * @param array|string $pairs Key to the global variable, or an array * of key/value pairs. @@ -1049,7 +1051,6 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { private function addCoreDBData() { if ( $this->db->getType() == 'oracle' ) { - # Insert 0 user to prevent FK violations # Anonymous user if ( !$this->db->selectField( 'user', '1', [ 'user_id' => 0 ] ) ) { @@ -1086,10 +1087,15 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { $page->doEditContent( new WikitextContent( 'UTContent' ), 'UTPageSummary', - EDIT_NEW, + EDIT_NEW | EDIT_SUPPRESS_RC, false, $user ); + // an edit always attempt to purge backlink links such as history + // pages. That is unneccessary. + JobQueueGroup::singleton()->get( 'htmlCacheUpdate' )->delete(); + // WikiPages::doEditUpdates randomly adds RC purges + JobQueueGroup::singleton()->get( 'recentChangesUpdate' )->delete(); // doEditContent() probably started the session via // User::loadFromSession(). Close it now. @@ -1114,6 +1120,8 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { return; } + Hooks::run( 'UnitTestsBeforeDatabaseTeardown' ); + foreach ( $wgJobClasses as $type => $class ) { // Delete any jobs under the clone DB (or old prefix in other stores) JobQueueGroup::singleton()->get( $type )->delete(); @@ -1216,6 +1224,8 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { if ( $db->getType() == 'oracle' ) { $db->query( 'BEGIN FILL_WIKI_INFO; END;' ); } + + Hooks::run( 'UnitTestsAfterDatabaseSetup', [ $db, $prefix ] ); } /** @@ -1480,7 +1490,7 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { ' method should return true. Use @group Database or $this->tablesUsed.' ); } - $db = wfGetDB( DB_SLAVE ); + $db = wfGetDB( DB_REPLICA ); $res = $db->select( $table, $fields, $condition, wfGetCaller(), [ 'ORDER BY' => $fields ] ); $this->assertNotEmpty( $res, "query failed: " . $db->lastError() ); @@ -1713,7 +1723,6 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase { if ( !isset( $wgNamespaceContentModels[$ns] ) || $wgNamespaceContentModels[$ns] === CONTENT_MODEL_WIKITEXT ) { - $wikitextNS = $ns; return $wikitextNS;