phpunit: Omit long xdiff test provider from Jenkins output
authorTimo Tijhof <krinklemail@gmail.com>
Tue, 17 Nov 2015 02:01:16 +0000 (02:01 +0000)
committerHashar <hashar@free.fr>
Tue, 17 Nov 2015 09:35:27 +0000 (09:35 +0000)
In PHPUnit v4.3 and higher one could call markTestSkipped() from
inside a data provider.

Bug: T43683
Change-Id: Ic5f9f4c715466e3998af76ad98543aeb9c5d396e

tests/phpunit/includes/DiffHistoryBlobTest.php

index e28a92c..786e05d 100644 (file)
@@ -10,7 +10,6 @@ class DiffHistoryBlobTest extends MediaWikiTestCase {
 
                if ( !function_exists( 'xdiff_string_rabdiff' ) ) {
                        $this->markTestSkipped( 'The version of xdiff extension is lower than 1.5.0' );
-
                        return;
                }
        }
@@ -28,7 +27,13 @@ class DiffHistoryBlobTest extends MediaWikiTestCase {
                        "Hash of " . addcslashes( $input, "\0..\37!@\@\177..\377" ) );
        }
 
-       public static function provideXdiffAdler32() {
+       public function provideXdiffAdler32() {
+               // Hack non-empty early return since PHPUnit expands this provider before running
+               // the setUp() which marks the test as skipped.
+               if ( !function_exists( 'xdiff_string_rabdiff' ) ) {
+                       return array( array( '', 'Empty string' ) );
+               }
+
                return array(
                        array( '', 'Empty string' ),
                        array( "\0", 'Null' ),