/**
* @todo Make this more independent of the configuration (and if possible the database)
* @todo document
- * @addtogroup Maintenance
+ * @file
+ * @ingroup Maintenance
*/
/** */
require_once( "$IP/maintenance/parserTestsParserTime.php" );
/**
- * @addtogroup Maintenance
+ * @ingroup Maintenance
*/
class ParserTest {
/**
} else {
global $IP;
$relative = wfRelativePath( $filename, $IP );
- print $this->term->color( 1 ) .
- "Reading tests from \"$relative\"..." .
- $this->term->reset() .
- "\n";
+ $this->showRunFile( $relative );
}
$data = array();
} else if (preg_match('/\\bcat\\b/i', $opts)) {
global $wgOut;
$wgOut->addCategoryLinks($output->getCategories());
- $out = $this->tidy( implode( ' ', $wgOut->getCategoryLinks() ) );
+ $cats = $wgOut->getCategoryLinks();
+ $out = $this->tidy( implode( ' ', $cats['normal'] ) );
}
$result = $this->tidy($result);
'wgUseTidy' => false,
'wgDefaultLanguageVariant' => $variant,
'wgVariantArticlePath' => false,
+ 'wgGroupPermissions' => array( '*' => array(
+ 'createaccount' => true,
+ 'read' => true,
+ 'edit' => true,
+ 'createpage' => true,
+ 'createtalk' => true,
+ ) ),
+ 'wgDefaultExternalStore' => array(),
);
$this->savedGlobals = array();
foreach( $settings as $var => $val ) {
$GLOBALS['wgLang'] = $langObj;
$GLOBALS['wgContLang'] = $langObj;
- $GLOBALS['wgLoadBalancer']->loadMasterPos();
//$GLOBALS['wgMessageCache'] = new MessageCache( new BagOStuff(), false, 0, $GLOBALS['wgDBname'] );
$this->setupDatabase();
# Make sure we don't mess with the live DB
if (!$setupDB && $wgDBprefix === 'parsertest_') {
# oh teh horror
- $GLOBALS['wgLoadBalancer'] = LoadBalancer::newFromParams( $GLOBALS['wgDBservers'] );
+ LBFactory::destroy();
$db = wfGetDB( DB_MASTER );
$tables = $this->listTables();
/**
* "Running test $desc..."
*/
- private function showTesting( $desc ) {
+ protected function showTesting( $desc ) {
print "Running test $desc... ";
}
* @param string $desc The test name
* @return bool
*/
- private function showSuccess( $desc ) {
+ protected function showSuccess( $desc ) {
if( $this->showProgress ) {
print $this->term->color( '1;32' ) . 'PASSED' . $this->term->reset() . "\n";
}
* @param string $html Actual HTML output
* @return bool
*/
- private function showFailure( $desc, $result, $html ) {
+ protected function showFailure( $desc, $result, $html ) {
if( $this->showFailure ) {
if( !$this->showProgress ) {
# In quiet mode we didn't show the 'Testing' message before the
* @param string $outFileTail Tailing for the output file name
* @return string
*/
- private function quickDiff( $input, $output, $inFileTail='expected', $outFileTail='actual' ) {
+ protected function quickDiff( $input, $output, $inFileTail='expected', $outFileTail='actual' ) {
$prefix = wfTempDir() . "/mwParser-" . mt_rand();
$infile = "$prefix-$inFileTail";
* @param string $text
* @return string
*/
- private function colorDiff( $text ) {
+ protected function colorDiff( $text ) {
return preg_replace(
array( '/^(-.*)$/m', '/^(\+.*)$/m' ),
array( $this->term->color( 34 ) . '$1' . $this->term->reset(),
$text );
}
+ /**
+ * Show "Reading tests from ..."
+ *
+ * @param String $path
+ */
+ protected function showRunFile( $path ){
+ print $this->term->color( 1 ) .
+ "Reading tests from \"$path\"..." .
+ $this->term->reset() .
+ "\n";
+ }
+
/**
* Insert a temporary test article
* @param string $name the title, including any prefix
TestRecorder::end();
}
}
-
-?>