Merge "Avoid Database::tableName in WikiExporter"
[lhc/web/wiklou.git] / tests / phpunit / MediaWikiIntegrationTestCase.php
index f5e09e9..b738312 100644 (file)
@@ -10,6 +10,7 @@ use Wikimedia\Rdbms\IDatabase;
 use Wikimedia\Rdbms\IMaintainableDatabase;
 use Wikimedia\Rdbms\Database;
 use Wikimedia\TestingAccessWrapper;
+use Wikimedia\Timestamp\ConvertibleTimestamp;
 
 /**
  * @since 1.18
@@ -182,8 +183,10 @@ abstract class MediaWikiIntegrationTestCase extends PHPUnit\Framework\TestCase {
                global $IP;
                parent::setUpBeforeClass();
                if ( !file_exists( "$IP/LocalSettings.php" ) ) {
-                       echo 'A working MediaWiki installation with a configured LocalSettings.php file is'
-                       . ' required for tests that extend ' . self::class;
+                               echo "File \"$IP/LocalSettings.php\" could not be found. "
+                               . "Test case " . static::class . " extends " . self::class . " "
+                               . "which requires a working MediaWiki installation.\n"
+                               . ( new RuntimeException() )->getTraceAsString();
                        die();
                }
                self::initializeForStandardPhpunitEntrypointIfNeeded();
@@ -668,6 +671,9 @@ abstract class MediaWikiIntegrationTestCase extends PHPUnit\Framework\TestCase {
                        $this->fail( $message );
                }
 
+               // If anything faked the time, reset it
+               ConvertibleTimestamp::setFakeTime( false );
+
                parent::tearDown();
        }
 
@@ -1133,7 +1139,10 @@ abstract class MediaWikiIntegrationTestCase extends PHPUnit\Framework\TestCase {
                        $this->setService( 'ContentLanguage', $lang );
                        $this->setMwGlobals( 'wgLanguageCode', $lang->getCode() );
                } else {
-                       $this->setMwGlobals( 'wgLanguageCode', $lang );
+                       $this->setMwGlobals( [
+                               'wgLanguageCode' => $lang,
+                               'wgContLang' => Language::factory( $lang ),
+                       ] );
                }
        }
 
@@ -1821,6 +1830,7 @@ abstract class MediaWikiIntegrationTestCase extends PHPUnit\Framework\TestCase {
                        $pageTables = [
                                'page', 'revision', 'ip_changes', 'revision_comment_temp', 'comment', 'archive',
                                'revision_actor_temp', 'slots', 'content', 'content_models', 'slot_roles',
+                               'change_tag',
                        ];
                        $coreDBDataTables = array_merge( $userTables, $pageTables );