benchmarks: Add a default to the 'file' option of benchmarkTidy.php
authorTimo Tijhof <krinklemail@gmail.com>
Mon, 13 Aug 2018 16:12:01 +0000 (17:12 +0100)
committerKrinkle <krinklemail@gmail.com>
Mon, 13 Aug 2018 16:45:44 +0000 (16:45 +0000)
* Move the fixture to its own directory.
* Add a default to the 'file' option.
* Use loadFile() so that it works by default without requiring
  the user to unzip it first.

Change-Id: I9edf2c19ce5730b72bad3a33c60eda588072a3cf

maintenance/benchmarks/Benchmarker.php
maintenance/benchmarks/australia-untidy.html.gz [deleted file]
maintenance/benchmarks/benchmarkCSSMin.php
maintenance/benchmarks/benchmarkTidy.php
maintenance/benchmarks/tidy/australia-untidy.html.gz [new file with mode: 0644]

index e1eef07..04aee80 100644 (file)
@@ -162,4 +162,18 @@ abstract class Benchmarker extends Maintenance {
                        $this->lang->formatSize( memory_get_peak_usage( true ) )
                ) );
        }
+
+       /**
+        * @since 1.32
+        * @param string $file Path to file (maybe compressed with gzip)
+        * @return string Contents of file
+        */
+       protected function loadFile( $file ) {
+               $content = file_get_contents( $file );
+               // Detect GZIP compression header
+               if ( substr( $content, 0, 2 ) === "\037\213" ) {
+                       $content = gzdecode( $content );
+               }
+               return $content;
+       }
 }
diff --git a/maintenance/benchmarks/australia-untidy.html.gz b/maintenance/benchmarks/australia-untidy.html.gz
deleted file mode 100644 (file)
index 148481d..0000000
Binary files a/maintenance/benchmarks/australia-untidy.html.gz and /dev/null differ
index a7d998d..8e2acb2 100644 (file)
@@ -61,15 +61,6 @@ class BenchmarkCSSMin extends Benchmarker {
                        ],
                ] );
        }
-
-       private function loadFile( $file ) {
-               $css = file_get_contents( $file );
-               // Detect GZIP compression header
-               if ( substr( $css, 0, 2 ) === "\037\213" ) {
-                       $css = gzdecode( $css );
-               }
-               return $css;
-       }
 }
 
 $maintClass = BenchmarkCSSMin::class;
index 5a432fb..e9a30f9 100644 (file)
@@ -2,12 +2,12 @@
 
 use MediaWiki\MediaWikiServices;
 
-require __DIR__ . '/../Maintenance.php';
+require __DIR__ . '/Benchmarker.php';
 
-class BenchmarkTidy extends Maintenance {
+class BenchmarkTidy extends Benchmarker {
        public function __construct() {
                parent::__construct();
-               $this->addOption( 'file', 'A filename which contains the input text', true, true );
+               $this->addOption( 'file', 'Path to file containing the input text', false, true );
                $this->addOption( 'driver', 'The Tidy driver name, or false to use the configured instance',
                        false,  true );
                $this->addOption( 'tidy-config', 'JSON encoded value for the tidy configuration array',
@@ -15,7 +15,8 @@ class BenchmarkTidy extends Maintenance {
        }
 
        public function execute() {
-               $html = file_get_contents( $this->getOption( 'file' ) );
+               $file = $this->getOption( 'file', __DIR__ . '/tidy/australia-untidy.html.gz' );
+               $html = $this->loadFile( $file );
                if ( $html === false ) {
                        $this->fatalError( "Unable to open input file" );
                }
diff --git a/maintenance/benchmarks/tidy/australia-untidy.html.gz b/maintenance/benchmarks/tidy/australia-untidy.html.gz
new file mode 100644 (file)
index 0000000..148481d
Binary files /dev/null and b/maintenance/benchmarks/tidy/australia-untidy.html.gz differ