Use local context instead of global variables
[lhc/web/wiklou.git] / maintenance / fuzz-tester.php
index a38eae8..89a88e6 100644 (file)
@@ -139,11 +139,7 @@ Wiki configuration for testing:
 
   // Install & enable Special Page extensions to increase code coverage. E.g.:
   require_once("extensions/Cite/SpecialCite.php");
-  require_once("extensions/Filepath/SpecialFilepath.php");
-  require_once("extensions/Makebot/Makebot.php");
-  require_once("extensions/Makesysop/SpecialMakesysop.php");
   require_once("extensions/Renameuser/SpecialRenameuser.php");
-  require_once("extensions/LinkSearch/LinkSearch.php");
   // --------- End ---------
 
   If you want to try E_STRICT error logging, add this to the above:
@@ -823,7 +819,7 @@ class wikiFuzz {
        static private function stringEscape( $matches ) {
                return sprintf( "\\x%02x", ord( $matches[1] ) );
        }
-       
+
        /**
         ** Strips out the stuff that Mediawiki balks at in a page's title.
         **        Implementation copied/pasted from cleanupTable.inc & cleanupImages.php
@@ -1369,7 +1365,7 @@ class viewPageTest extends pageTest {
 
                // Tidy does not know how to valid atom or rss, so exclude from testing for the time being.
                if ( $this->params["feed"] == "atom" )     { unset( $this->params["feed"] ); }
-               else if ( $this->params["feed"] == "rss" ) { unset( $this->params["feed"] ); }
+               elseif ( $this->params["feed"] == "rss" ) { unset( $this->params["feed"] ); }
 
                // Raw pages cannot really be validated
                if ( $this->params["action"] == "raw" ) unset( $this->params["action"] );
@@ -1403,7 +1399,7 @@ class specialAllmessagesTest extends pageTest {
 /**
  ** a page test for "Special:Newpages".
  */
-class specialNewpages extends pageTest {
+class specialNewpagesPageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Newpages";
 
@@ -1416,7 +1412,7 @@ class specialNewpages extends pageTest {
 
                // Tidy does not know how to valid atom or rss, so exclude from testing for the time being.
                if ( $this->params["feed"] == "atom" )     { unset( $this->params["feed"] ); }
-               else if ( $this->params["feed"] == "rss" ) { unset( $this->params["feed"] ); }
+               elseif ( $this->params["feed"] == "rss" ) { unset( $this->params["feed"] ); }
        }
 }
 
@@ -1531,7 +1527,7 @@ class specialMovePage extends pageTest {
 /**
  ** a page test for "Special:Undelete"
  */
-class specialUndelete extends pageTest {
+class specialUndeletePageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Undelete";
 
@@ -1558,7 +1554,7 @@ class specialUndelete extends pageTest {
 /**
  ** a page test for "Special:Unlockdb"
  */
-class specialUnlockdb extends pageTest {
+class specialUnlockdbPageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Unlockdb";
 
@@ -1579,7 +1575,7 @@ class specialUnlockdb extends pageTest {
 /**
  ** a page test for "Special:Lockdb"
  */
-class specialLockdb extends pageTest {
+class specialLockdbPageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Lockdb";
 
@@ -1732,7 +1728,7 @@ class pageDeletion extends pageTest {
 /**
  ** a test for Revision Deletion.
  */
-class specialRevisionDelete extends pageTest {
+class specialRevisionDeletePageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Revisiondelete";
 
@@ -1763,7 +1759,7 @@ class specialRevisionDelete extends pageTest {
 /**
  ** a test for Special:Import.
  */
-class specialImport extends pageTest {
+class specialImportPageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Import";
 
@@ -1861,7 +1857,7 @@ class profileInfo extends pageTest {
 /**
  ** a test for Special:Cite (extension Special page).
  */
-class specialCite extends pageTest {
+class specialCitePageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Cite";
 
@@ -1880,7 +1876,7 @@ class specialCite extends pageTest {
 /**
  ** a test for Special:Filepath (extension Special page).
  */
-class specialFilepath extends pageTest {
+class specialFilepathPageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Filepath";
 
@@ -1891,56 +1887,10 @@ class specialFilepath extends pageTest {
 }
 
 
-/**
- ** a test for Special:Makebot (extension Special page).
- */
-class specialMakebot extends pageTest {
-       function __construct() {
-               $this->pagePath = "index.php?title=Special:Makebot";
-
-               $this->params = array (
-                               "username" => wikiFuzz::chooseInput( array( "Nickj2", "192.168.0.2", wikiFuzz::makeFuzz( 1 ) ) ),
-                               "dosearch" => wikiFuzz::chooseInput( array( "0", "1", "++--34234", wikiFuzz::makeFuzz( 2 ) ) ),
-                               "grant"    => wikiFuzz::chooseInput( array( "0", "1", "++--34234", wikiFuzz::makeFuzz( 2 ) ) ),
-                               "comment"  => wikiFuzz::chooseInput( array( "20398702394", "", wikiFuzz::makeFuzz( 2 ) ) ),
-                               "token"    => wikiFuzz::chooseInput( array( "20398702394", "", wikiFuzz::makeFuzz( 2 ) ) ),
-                               );
-
-               // sometimes we don't want to specify certain parameters.
-               if ( wikiFuzz::randnum( 2 ) == 0 ) unset( $this->params["dosearch"] );
-               if ( wikiFuzz::randnum( 2 ) == 0 ) unset( $this->params["grant"] );
-               if ( wikiFuzz::randnum( 5 ) == 0 ) unset( $this->params["token"] );
-       }
-}
-
-
-/**
- ** a test for Special:Makesysop (extension Special page).
- */
-class specialMakesysop extends pageTest {
-       function __construct() {
-               $this->pagePath = "index.php?title=Special:Makesysop";
-
-               $this->params = array (
-                               "wpMakesysopUser"   => wikiFuzz::chooseInput( array( "Nickj2", "192.168.0.2", wikiFuzz::makeFuzz( 1 ) ) ),
-                               "action"            => wikiFuzz::chooseInput( array( "0", "1", "++--34234", wikiFuzz::makeFuzz( 2 ) ) ),
-                               "wpMakesysopSubmit" => wikiFuzz::chooseInput( array( "0", "1", "++--34234", wikiFuzz::makeFuzz( 2 ) ) ),
-                               "wpEditToken"       => wikiFuzz::chooseInput( array( "20398702394", "", wikiFuzz::makeFuzz( 2 ) ) ),
-                               "wpSetBureaucrat"   => wikiFuzz::chooseInput( array( "20398702394", "", wikiFuzz::makeFuzz( 2 ) ) ),
-                               );
-
-               // sometimes we don't want to specify certain parameters.
-               if ( wikiFuzz::randnum( 3 ) == 0 ) unset( $this->params["wpMakesysopSubmit"] );
-               if ( wikiFuzz::randnum( 3 ) == 0 ) unset( $this->params["wpEditToken"] );
-               if ( wikiFuzz::randnum( 3 ) == 0 ) unset( $this->params["wpSetBureaucrat"] );
-       }
-}
-
-
 /**
  ** a test for Special:Renameuser (extension Special page).
  */
-class specialRenameuser extends pageTest {
+class specialRenameuserPageTest extends pageTest {
        function __construct() {
                $this->pagePath = "index.php?title=Special:Renameuser";
 
@@ -2257,35 +2207,33 @@ function selectPageTest( $count ) {
                case 15: return new contributionsTest();
                case 16: return new viewPageTest();
                case 17: return new specialAllmessagesTest();
-               case 18: return new specialNewpages();
+               case 18: return new specialNewpagesPageTest();
                case 19: return new searchTest();
                case 20: return new redirectTest();
                case 21: return new confirmEmail();
                case 22: return new watchlistTest();
                case 23: return new specialBlockmeTest();
-               case 24: return new specialUndelete();
+               case 24: return new specialUndeletePageTest();
                case 25: return new specialMovePage();
-               case 26: return new specialUnlockdb();
-               case 27: return new specialLockdb();
+               case 26: return new specialUnlockdbPageTest();
+               case 27: return new specialLockdbPageTest();
                case 28: return new specialUserrights();
                case 29: return new pageProtectionForm();
                case 30: return new specialBlockip();
                case 31: return new imagepageTest();
                case 32: return new pageDeletion();
-               case 33: return new specialRevisionDelete();
-               case 34: return new specialImport();
+               case 33: return new specialRevisionDeletePageTest();
+               case 34: return new specialImportPageTest();
                case 35: return new thumbTest();
                case 36: return new trackbackTest();
                case 37: return new profileInfo();
-               case 38: return new specialCite();
-               case 39: return new specialFilepath();
-               case 40: return new specialMakebot();
-               case 41: return new specialMakesysop();
-               case 42: return new specialRenameuser();
-               case 43: return new specialLinksearch();
-               case 44: return new specialCategoryTree();
-               case 45: return new api();
-               case 45: return new specialChemicalsourcesTest();
+               case 38: return new specialCitePageTest();
+               case 39: return new specialFilepathPageTest();
+               case 40: return new specialRenameuserPageTest();
+               case 41: return new specialLinksearch();
+               case 42: return new specialCategoryTree();
+               case 43: return new api();
+               case 44: return new specialChemicalsourcesTest();
                default: return new editPageTest();
        }
 }
@@ -2702,7 +2650,7 @@ if ( !is_dir( DIRECTORY ) ) {
        mkdir ( DIRECTORY, 0700 );
 }
 // otherwise, we first retest the things that we have found in previous runs
-else if ( RERUN_OLD_TESTS ) {
+elseif ( RERUN_OLD_TESTS ) {
        rerunPreviousTests();
 }
 
@@ -2750,7 +2698,7 @@ for ( $count = 0; true; $count++ ) {
                }
                saveTest( $test, $testname );
                $num_errors += 1;
-       } else if ( KEEP_PASSED_TESTS ) {
+       } elseif ( KEEP_PASSED_TESTS ) {
                // print current time, with microseconds (matches "strace" format), and the test name.
                print " " . date( "H:i:s." ) . substr( current( explode( " ", microtime() ) ), 2 ) . " " . $testname;
                saveTest( $test, $testname );