diff options
Diffstat (limited to 'maintenance/fuzz-tester.php')
-rw-r--r-- | maintenance/fuzz-tester.php | 69 |
1 files changed, 24 insertions, 45 deletions
diff --git a/maintenance/fuzz-tester.php b/maintenance/fuzz-tester.php index 1c96a571..548bb2f2 100644 --- a/maintenance/fuzz-tester.php +++ b/maintenance/fuzz-tester.php @@ -118,7 +118,6 @@ Wiki configuration for testing: // Enable weird and wonderful options: // Increase default error reporting level. error_reporting (E_ALL); // At a later date could be increased to E_ALL | E_STRICT - $wgBlockOpenProxies = true; // Some block pages require this to be true in order to test. $wgEnableUploads = true; // enable uploads. $wgDBerrorLog = "/root/mediawiki-db-error-log.txt"; // log DB errors, replace with suitable path. $wgShowSQLErrors = true; // Show SQL errors (instead of saying the query was hidden). @@ -127,17 +126,17 @@ Wiki configuration for testing: $wgEnableWriteAPI = true; // enable API. // Install & enable Parser Hook extensions to increase code coverage. E.g.: - require_once("extensions/ParserFunctions/ParserFunctions.php"); - require_once("extensions/Cite/Cite.php"); - require_once("extensions/inputbox/inputbox.php"); - require_once("extensions/Sort/Sort.php"); - require_once("extensions/wikihiero/wikihiero.php"); - require_once("extensions/CharInsert/CharInsert.php"); - require_once("extensions/FixedImage/FixedImage.php"); + require_once "extensions/ParserFunctions/ParserFunctions.php"; + require_once "extensions/Cite/Cite.php"; + require_once "extensions/inputbox/inputbox.php"; + require_once "extensions/Sort/Sort.php"; + require_once "extensions/wikihiero/wikihiero.php"; + require_once "extensions/CharInsert/CharInsert.php"; + require_once "extensions/FixedImage/FixedImage.php"; // Install & enable Special Page extensions to increase code coverage. E.g.: - require_once("extensions/Cite/SpecialCite.php"); - require_once("extensions/Renameuser/SpecialRenameuser.php"); + require_once "extensions/Cite/SpecialCite.php"; + require_once "extensions/Renameuser/SpecialRenameuser.php"; // --------- End --------- If you want to try E_STRICT error logging, add this to the above: @@ -181,7 +180,7 @@ TODO: // ///////////////////////// COMMAND LINE HELP //////////////////////////////////// // This is a command line script, load MediaWiki env (gives command line options); -require_once( __DIR__ . '/commandLine.inc' ); +require_once __DIR__ . '/commandLine.inc'; // if the user asked for an explanation of command line options. if ( isset( $options["help"] ) ) { @@ -657,6 +656,7 @@ class wikiFuzz { "}}", "{{INT:googlesearch|", "}}", + "{{ROOTPAGENAME}}", "{{BASEPAGENAME}}", "{{CONTENTLANGUAGE}}", "{{PAGESINNAMESPACE:}}", @@ -747,7 +747,7 @@ class wikiFuzz { /** ** Randomly returns one element of the input array. */ - static public function chooseInput( array $input ) { + public static function chooseInput( array $input ) { $randindex = wikiFuzz::randnum( count( $input ) - 1 ); return $input[$randindex]; } @@ -761,7 +761,7 @@ class wikiFuzz { * @param $start int * @return int */ - static public function randnum( $finish, $start = 0 ) { + public static function randnum( $finish, $start = 0 ) { return mt_rand( $start, $finish ); } @@ -769,7 +769,7 @@ class wikiFuzz { * Returns a mix of random text and random wiki syntax. * @return string */ - static private function randstring() { + private static function randstring() { $thestring = ""; for ( $i = 0; $i < 40; $i++ ) { @@ -801,7 +801,7 @@ class wikiFuzz { * or random data from "other". * @return string */ - static private function makestring() { + private static function makestring() { $what = wikiFuzz::randnum( 2 ); if ( $what == 0 ) { return wikiFuzz::randstring(); @@ -818,7 +818,7 @@ class wikiFuzz { * @param $matches * @return string */ - static private function stringEscape( $matches ) { + private static function stringEscape( $matches ) { return sprintf( "\\x%02x", ord( $matches[1] ) ); } @@ -828,7 +828,7 @@ class wikiFuzz { * @param $str string * @return string */ - static public function makeTitleSafe( $str ) { + public static function makeTitleSafe( $str ) { $legalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF"; return preg_replace_callback( "/([^$legalTitleChars])/", 'wikiFuzz::stringEscape', @@ -839,7 +839,7 @@ class wikiFuzz { ** Returns a string of fuzz text. * @return string */ - static private function loop() { + private static function loop() { switch ( wikiFuzz::randnum( 3 ) ) { case 1: // an opening tag, with parameters. $string = ""; @@ -868,7 +868,7 @@ class wikiFuzz { * Returns one of the three styles of random quote: ', ", and nothing. * @return string */ - static private function getRandQuote() { + private static function getRandQuote() { switch ( wikiFuzz::randnum( 3 ) ) { case 1 : return "'"; case 2 : return "\""; @@ -881,7 +881,7 @@ class wikiFuzz { * @param $maxtypes int * @return string */ - static public function makeFuzz( $maxtypes = 2 ) { + public static function makeFuzz( $maxtypes = 2 ) { $page = ""; for ( $k = 0; $k < $maxtypes; $k++ ) { $page .= wikiFuzz::loop(); @@ -1482,24 +1482,6 @@ class watchlistTest extends pageTest { } } - -/** - ** a page test for "Special:Blockme" - */ -class specialBlockmeTest extends pageTest { - function __construct() { - $this->pagePath = "index.php?title=Special:Blockme"; - - $this->params = array ( ); - - // sometimes we specify "ip", and sometimes we don't. - if ( wikiFuzz::randnum( 1 ) == 0 ) { - $this->params["ip"] = wikiFuzz::chooseInput( array( "10.12.41.213", wikiFuzz::randnum( 8134, -10 ), wikiFuzz::makeFuzz( 2 ) ) ); - } - } -} - - /** ** a page test for "Special:Movepage" */ @@ -1972,7 +1954,7 @@ class specialChemicalsourcesTest extends pageTest { ** returns the help screen - so currently a lot of the tests aren't actually doing much ** because something wasn't right in the query. ** - ** @todo: Incomplete / unfinished; Runs too fast (suggests not much testing going on). + ** @todo Incomplete / unfinished; Runs too fast (suggests not much testing going on). */ class api extends pageTest { @@ -2041,7 +2023,7 @@ class api extends pageTest { } // Adds all the elements to the array, using the specified prefix. - private static function addListParams( &$array, $prefix, $elements ) { + private static function addListParams( &$array, $prefix, $elements ) { foreach ( $elements as $element ) { $array[$prefix . $element] = self::getParamDetails( $element ); } @@ -2160,7 +2142,7 @@ class GeSHi_Test extends pageTest { /** ** selects a page test to run. * @param $count - * @return \api|\confirmEmail|\contributionsTest|\editPageTest|\imagelistTest|\imagepageTest|\ipblocklistTest|\listusersTest|\mimeSearchTest|\newImagesTest|\pageDeletion|\pageHistoryTest|\pageProtectionForm|\prefixindexTest|\profileInfo|\recentchangesTest|\redirectTest|\searchTest|\specialAllmessagesTest|\specialAllpagesTest|\specialBlockip|\specialBlockmeTest|\specialBooksourcesTest|\specialCategoryTree|\specialChemicalsourcesTest|\specialCitePageTest|\specialExportTest|\specialFilepathPageTest|\specialImportPageTest|\specialLinksearch|\specialLockdbPageTest|\specialLogTest|\specialMovePage|\specialNewpagesPageTest|\specialRenameuserPageTest|\specialRevisionDeletePageTest|\specialUndeletePageTest|\specialUnlockdbPageTest|\specialUserrights|\successfulUserLoginTest|\thumbTest|\userLoginTest|\viewPageTest|\watchlistTest + * @return \api|\confirmEmail|\contributionsTest|\editPageTest|\imagelistTest|\imagepageTest|\ipblocklistTest|\listusersTest|\mimeSearchTest|\newImagesTest|\pageDeletion|\pageHistoryTest|\pageProtectionForm|\prefixindexTest|\profileInfo|\recentchangesTest|\redirectTest|\searchTest|\specialAllmessagesTest|\specialAllpagesTest|\specialBlockip|\specialBooksourcesTest|\specialCategoryTree|\specialChemicalsourcesTest|\specialCitePageTest|\specialExportTest|\specialFilepathPageTest|\specialImportPageTest|\specialLinksearch|\specialLockdbPageTest|\specialLogTest|\specialMovePage|\specialNewpagesPageTest|\specialRenameuserPageTest|\specialRevisionDeletePageTest|\specialUndeletePageTest|\specialUnlockdbPageTest|\specialUserrights|\successfulUserLoginTest|\thumbTest|\userLoginTest|\viewPageTest|\watchlistTest */ function selectPageTest( $count ) { @@ -2196,7 +2178,6 @@ function selectPageTest( $count ) { case 20: return new redirectTest(); case 21: return new confirmEmail(); case 22: return new watchlistTest(); - case 23: return new specialBlockmeTest(); case 24: return new specialUndeletePageTest(); case 25: return new specialMovePage(); case 26: return new specialUnlockdbPageTest(); @@ -2542,7 +2523,7 @@ function runWikiTest( pageTest $test, &$testname, $can_overwrite = false ) { if ( !$valid ) print "\nW3C web validation failed - view details with: html2text " . DIRECTORY . "/" . $testname . ".validator_output.html"; } - // Get tidy to check the page, unless we already know it produces non-XHTML output. + // Get tidy to check the page, unless we already know it produces non-(X)HTML output. if ( $test->tidyValidate() ) { $valid = tidyCheckFile( $testname . HTML_FILE ) && $valid; } @@ -2709,5 +2690,3 @@ for ( $count = 0; true; $count++ ) { break; } } - - |