Merge "test: helper to skip tests depending on 'gzip'"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 29 Jan 2013 10:41:11 +0000 (10:41 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 29 Jan 2013 10:41:11 +0000 (10:41 +0000)
tests/phpunit/MediaWikiTestCase.php

index fc51c73..dfc5881 100644 (file)
@@ -862,6 +862,32 @@ abstract class MediaWikiTestCase extends PHPUnit_Framework_TestCase {
                }
        }
 
+       /**
+        * Check whether we have the 'gzip' commandline utility, will skip
+        * the test whenever "gzip -V" fails.
+        *
+        * Result is cached at the process level.
+        *
+        * @return bool
+        *
+        * @since 1.21
+        */
+       protected function checkHasGzip() {
+               static $haveGzip;
+
+               if( $haveGzip === null ) {
+                       $retval = null;
+                       wfShellExec( 'gzip -V', $retval );
+                       $haveGzip = ($retval === 0);
+               }
+
+               if( !$haveGzip ) {
+                       $this->markTestSkipped( "Skip test, requires the gzip utility in PATH" );
+               }
+
+               return $haveGzip;
+       }
+
        /**
         * Check if $extName is a loaded PHP extension, will skip the
         * test whenever it is not loaded.