MediaWiki REL1_33
|
Tests for TextPassDumper that rely on the database. More...
Public Member Functions | |
addDBData () | |
Stub. | |
testCheckpointGzip () | |
tests for working checkpoint generation in gzip format work. | |
testCheckpointPlain () | |
Broken per T70653. | |
testPlain () | |
testPrefetchPlain () | |
Public Member Functions inherited from MediaWiki\Tests\Maintenance\DumpTestCase | |
expectETAOutput () | |
Checks for test output consisting only of lines containing ETA announcements. | |
Public Member Functions inherited from MediaWikiTestCase | |
__construct ( $name=null, array $data=[], $dataName='') | |
__destruct () | |
addDBDataOnce () | |
Stub. | |
copyTestData (IDatabase $source, IDatabase $target) | |
Copy test data from one database connection to another. | |
dbPrefix () | |
getCliArg ( $offset) | |
hideDeprecated ( $function) | |
Don't throw a warning if $function is deprecated and called later. | |
needsDB () | |
run (PHPUnit_Framework_TestResult $result=null) | |
setCliArg ( $offset, $value) | |
setContentLang ( $lang) | |
setGroupPermissions ( $newPerms, $newKey=null, $newValue=null) | |
Alters $wgGroupPermissions for the duration of the test. | |
setupAllTestDBs () | |
Set up all test DBs. | |
setUserLang ( $lang) | |
testMediaWikiTestCaseParentSetupCalled () | |
Make sure MediaWikiTestCase extending classes have called their parent setUp method. | |
usesTemporaryTables () | |
Protected Member Functions | |
setUp () | |
Default set up function. | |
Protected Member Functions inherited from MediaWiki\Tests\Maintenance\DumpTestCase | |
addRevision (WikiPage $page, $text, $summary, $model=CONTENT_MODEL_WIKITEXT) | |
Adds a revision to a page, while returning the resuting revision's id. | |
assertDumpSchema ( $fname, $schemaFile) | |
Checks an XML file against an XSD schema. | |
checkHasGzip () | |
Skip the test if 'gzip' is not in $PATH. | |
getDumpAsserter ( $schemaVersion=null) | |
getXmlSchemaPath ( $schemaVersion=null) | |
Returns the path to the XML schema file for the given schema version. | |
gunzip ( $fname) | |
gunzips the given file and stores the result in the original file name | |
Protected Member Functions inherited from MediaWikiTestCase | |
addCoreDBData () | |
addTmpFiles ( $files) | |
arrayWrap (array $elements) | |
Utility method taking an array of elements and wrapping each element in its own array. | |
assertArrayEquals (array $expected, array $actual, $ordered=false, $named=false) | |
Assert that two arrays are equal. | |
assertFileContains ( $fileName, $actualData, $createIfMissing=false, $msg='') | |
Check whether file contains given data. | |
assertHTMLEquals ( $expected, $actual, $msg='') | |
Put each HTML element on its own line and then equals() the results. | |
assertSelect ( $table, $fields, $condition, array $expectedRows, array $options=[], array $join_conds=[]) | |
Asserts that the given database query yields the rows given by $expectedRows. | |
assertType ( $type, $actual, $message='') | |
Asserts the type of the provided value. | |
assertTypeOrValue ( $type, $actual, $value=false, $message='') | |
Asserts that the provided variable is of the specified internal type or equals the $value argument. | |
checkDbIsSupported () | |
checkPHPExtension ( $extName) | |
Check if $extName is a loaded PHP extension, will skip the test whenever it is not loaded. | |
editPage ( $pageName, $text, $summary='', $defaultNs=NS_MAIN) | |
Edits or creates a page/revision. | |
ensureMockDatabaseConnection (IDatabase $db) | |
getDefaultWikitextNS () | |
Returns the ID of a namespace that defaults to Wikitext. | |
getExistingTestPage ( $title=null) | |
Returns a WikiPage representing an existing page. | |
getNewTempDirectory () | |
obtains a new temporary directory | |
getNewTempFile () | |
Obtains a new temporary file name. | |
getNonexistingTestPage ( $title=null) | |
Returns a WikiPage representing a non-existing page. | |
getSchemaOverrides (IMaintainableDatabase $db) | |
Stub. | |
insertPage ( $pageName, $text='Sample page for unit test.', $namespace=null, User $user=null) | |
Insert a new page. | |
isTestInDatabaseGroup () | |
isWikitextNS ( $ns) | |
Returns true if the given namespace defaults to Wikitext according to $wgNamespaceContentModels. | |
markTestSkippedIfDbType ( $type) | |
Skip the test if using the specified database type. | |
markTestSkippedIfNoDiff3 () | |
Check, if $wgDiff3 is set and ready to merge Will mark the calling test as skipped, if not ready. | |
mergeMwGlobalArrayValue ( $name, $values) | |
Merges the given values into a MW global array variable. | |
objectAssociativeSort (array &$array) | |
Does an associative sort that works for objects. | |
overrideMwServices (Config $configOverrides=null, array $services=[]) | |
Stashes the global instance of MediaWikiServices, and installs a new one, allowing test cases to override settings and services. | |
revisionDelete ( $rev, array $value=[Revision::DELETED_TEXT=> 1], $comment='') | |
Revision-deletes a revision. | |
setIniSetting ( $name, $value) | |
Set an ini setting for the duration of the test. | |
setLogger ( $channel, LoggerInterface $logger) | |
Sets the logger for a specified channel, for the duration of the test. | |
setMwGlobals ( $pairs, $value=null) | |
Sets a global, maintaining a stashed version of the previous global to be restored in tearDown. | |
setService ( $name, $object) | |
Sets a service, maintaining a stashed version of the previous service to be restored in tearDown. | |
setTemporaryHook ( $hookName, $handler) | |
Create a temporary hook handler which will be reset by tearDown. | |
stashMwGlobals ( $globalKeys) | |
Stashes the global, will be restored in tearDown() | |
tearDown () | |
truncateTable ( $tableName, IDatabase $db=null) | |
Empties the given table and resets any auto-increment counters. | |
Private Member Functions | |
checkpointHelper ( $checkpointFormat="file") | |
Ensures that checkpoint dumps are used and written, by successively increasing the stub size and dumping until the duration crosses a threshold. | |
setUpStub ( $fname=null, $iterations=1) | |
Creates a stub file that is used for testing the text pass of dumps. | |
Static Private Attributes | |
static | $numOfPages = 4 |
static | $numOfRevs = 8 |
Additional Inherited Members | |
Static Public Member Functions inherited from MediaWiki\Tests\Maintenance\DumpTestCase | |
static | setUpBeforeClass () |
Static Public Member Functions inherited from MediaWikiTestCase | |
static | getMutableTestUser ( $groups=[]) |
Convenience method for getting a mutable test user. | |
static | getTestPrefixFor (IDatabase $db) |
static | getTestSysop () |
Convenience method for getting an immutable admin test user. | |
static | getTestUser ( $groups=[]) |
Convenience method for getting an immutable test user. | |
static | installMockMwServices (Config $configOverrides=null) |
Creates a new "mock" MediaWikiServices instance, and installs it. | |
static | listTables (IMaintainableDatabase $db) |
static | prepareServices (Config $bootstrapConfig) |
static | resetNonServiceCaches () |
Resets some non-service singleton instances and other static caches. | |
static | restoreMwServices () |
Restores the original, non-mock MediaWikiServices instance. | |
static | setupTestDB (IMaintainableDatabase $db, $prefix) |
Creates an empty skeleton of the wiki database by cloning its structure to equivalent tables using the given $prefix. | |
static | teardownTestDB () |
Restores MediaWiki to using the table set (table prefix) it was using before setupTestDB() was called. | |
static | wfResetOutputBuffersBarrier ( $buffer) |
Used as a marker to prevent wfResetOutputBuffers from breaking PHPUnit. | |
Public Attributes inherited from MediaWikiTestCase | |
const | DB_PREFIX = 'unittest_' |
Table name prefixes. | |
const | ORA_DB_PREFIX = 'ut_' |
Static Public Attributes inherited from MediaWikiTestCase | |
static TestUser[] | $users |
Static Protected Member Functions inherited from MediaWikiTestCase | |
static | getExternalStoreDatabaseConnections () |
Gets master database connections for all of the ExternalStoreDB stores configured in $wgDefaultExternalStore. | |
static | isUsingExternalStoreDB () |
Check whether ExternalStoreDB is being used. | |
static | setupDatabaseWithTestPrefix (IMaintainableDatabase $db, $prefix=null) |
Setups a database with cloned tables using the given prefix. | |
static | setupExternalStoreTestDBs ( $testPrefix=null) |
Clones the External Store database(s) for testing. | |
static | stripStringKeys (&$r) |
Utility function for eliminating all string keys from an array. | |
Protected Attributes inherited from MediaWiki\Tests\Maintenance\DumpTestCase | |
Exception null | $exceptionFromAddDBData = null |
exception to be rethrown once in sound PHPUnit surrounding | |
Protected Attributes inherited from MediaWikiTestCase | |
Database | $db |
Primary database. | |
array | $supportedDBs |
array | $tablesUsed = [] |
Static Protected Attributes inherited from MediaWiki\Tests\Maintenance\DumpTestCase | |
static bool null | $hasGzip = null |
Whether the 'gzip' utility is available. | |
Tests for TextPassDumper that rely on the database.
Some of these tests use the old constuctor for TextPassDumper and the dump() function, while others use the new loadWithArgv( $args ) function and execute(). This is to ensure both the old and new methods work properly.
Database Dump TextPassDumper
Definition at line 26 of file backupTextPassTest.php.
MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest::addDBData | ( | ) |
Stub.
Subclasses may override this to prepare the database. Called before every test run (test function or data set).
Reimplemented from MediaWikiTestCase.
Definition at line 39 of file backupTextPassTest.php.
References $e, MediaWiki\Tests\Maintenance\DumpTestCase\addRevision(), MediaWikiTestCase\getDefaultWikitextNS(), list, MediaWikiTestCase\mergeMwGlobalArrayValue(), and NS_TALK.
|
private |
Ensures that checkpoint dumps are used and written, by successively increasing the stub size and dumping until the duration crosses a threshold.
string | $checkpointFormat | Either "file" for plain text or "gzip" for gzipped checkpoint files. |
Definition at line 259 of file backupTextPassTest.php.
References $fname, and(), MediaWiki\Tests\Maintenance\DumpTestCase\expectETAOutput(), MediaWiki\Tests\Maintenance\DumpTestCase\getDumpAsserter(), MediaWikiTestCase\getNewTempDirectory(), MediaWikiTestCase\getNewTempFile(), MediaWiki\Tests\Maintenance\DumpTestCase\gunzip(), NS_MAIN, NS_TALK, MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\setUpStub(), wfMkdirParents(), and wfRecursiveRemoveDir().
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testCheckpointGzip(), and MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testCheckpointPlain().
|
protected |
Default set up function.
Clears $wgUser, and reports errors from addDBData to PHPUnit
Reimplemented from MediaWiki\Tests\Maintenance\DumpTestCase.
Definition at line 107 of file backupTextPassTest.php.
References and().
|
private |
Creates a stub file that is used for testing the text pass of dumps.
string | $fname | (Optional) Absolute name of the file to write the stub into. If this parameter is null, a new temporary file is generated that is automatically removed upon tearDown. |
int | $iterations | (Optional) specifies how often the block of 3 pages should go into the stub file. The page and revision id increase further and further, while the text id of the first iteration is reused. The pages and revision of iteration > 1 have no corresponding representation in the database. |
Definition at line 524 of file backupTextPassTest.php.
References $content, $fname, $header, MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\$numOfPages, MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\$numOfRevs, $username, and(), MediaWikiTestCase\getNewTempFile(), and MediaWikiTestCase\getTestUser().
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper(), MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPlain(), and MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain().
MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest::testCheckpointGzip | ( | ) |
tests for working checkpoint generation in gzip format work.
We keep this test in addition to the simpler self::testCheckpointPlain, as there were once problems when the used sinks were DumpPipeOutputs.
xmldumps-backup typically uses bzip2 instead of gzip. However, as bzip2 requires PHP extensions, we go for gzip instead, which triggers the same relevant code paths while still being testable on more systems.
Broken per T70653.
large Broken
Definition at line 506 of file backupTextPassTest.php.
References MediaWiki\Tests\Maintenance\DumpTestCase\checkHasGzip(), and MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper().
MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest::testCheckpointPlain | ( | ) |
Broken per T70653.
large Broken
Definition at line 487 of file backupTextPassTest.php.
References MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\checkpointHelper().
MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest::testPlain | ( | ) |
Definition at line 120 of file backupTextPassTest.php.
References MediaWiki\Tests\Maintenance\DumpTestCase\getDumpAsserter(), MediaWikiTestCase\getNewTempFile(), NS_MAIN, NS_TALK, and MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\setUpStub().
MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest::testPrefetchPlain | ( | ) |
Definition at line 175 of file backupTextPassTest.php.
References MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\$pageId1, MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\$pageId2, MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\$revId1_1, MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\$revId2_3, and(), MediaWiki\Tests\Maintenance\DumpTestCase\getDumpAsserter(), MediaWikiTestCase\getNewTempFile(), NS_MAIN, NS_TALK, and MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\setUpStub().
|
staticprivate |
Definition at line 31 of file backupTextPassTest.php.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\setUpStub().
|
staticprivate |
Definition at line 37 of file backupTextPassTest.php.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\setUpStub().
|
private |
Definition at line 30 of file backupTextPassTest.php.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain().
|
private |
Definition at line 30 of file backupTextPassTest.php.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain().
|
private |
Definition at line 30 of file backupTextPassTest.php.
|
private |
Definition at line 30 of file backupTextPassTest.php.
|
private |
Definition at line 32 of file backupTextPassTest.php.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain().
|
private |
Definition at line 33 of file backupTextPassTest.php.
|
private |
Definition at line 33 of file backupTextPassTest.php.
|
private |
Definition at line 34 of file backupTextPassTest.php.
Referenced by MediaWiki\Tests\Maintenance\TextPassDumperDatabaseTest\testPrefetchPlain().
|
private |
Definition at line 34 of file backupTextPassTest.php.
|
private |
Definition at line 35 of file backupTextPassTest.php.
|
private |
Definition at line 35 of file backupTextPassTest.php.
|
private |
Definition at line 36 of file backupTextPassTest.php.
|
private |
Definition at line 32 of file backupTextPassTest.php.
|
private |
Definition at line 33 of file backupTextPassTest.php.
|
private |
Definition at line 33 of file backupTextPassTest.php.
|
private |
Definition at line 34 of file backupTextPassTest.php.
|
private |
Definition at line 34 of file backupTextPassTest.php.
|
private |
Definition at line 35 of file backupTextPassTest.php.
|
private |
Definition at line 35 of file backupTextPassTest.php.
|
private |
Definition at line 36 of file backupTextPassTest.php.