Remove color opt setting from MediaWikiPHPUnitCommand
authoraddshore <addshorewiki@gmail.com>
Mon, 5 May 2014 11:39:40 +0000 (12:39 +0100)
committeraddshore <addshorewiki@gmail.com>
Mon, 5 May 2014 12:09:56 +0000 (13:09 +0100)
Change-Id: I08d3b53f80520452aef3fcf2017747406a38664d

tests/phpunit/MediaWikiPHPUnitCommand.php
tests/phpunit/phpunit.php
tests/phpunit/suite.xml

index cc49fde..7241f0a 100644 (file)
@@ -40,17 +40,6 @@ class MediaWikiPHPUnitCommand extends PHPUnit_TextUI_Command {
        public static function main( $exit = true ) {
                $command = new self;
 
-               if ( wfIsWindows() ) {
-                       # Windows does not come anymore with ANSI.SYS loaded by default
-                       # PHPUnit uses the suite.xml parameters to enable/disable colors
-                       # which can be then forced to be enabled with --colors.
-                       # The below code inject a parameter just like if the user called
-                       # phpunit with a --no-color option (which does not exist). It
-                       # overrides the suite.xml setting.
-                       # Probably fix bug 29226
-                       $command->arguments['colors'] = false;
-               }
-
                # Makes MediaWiki PHPUnit directory includable so the PHPUnit will
                # be able to resolve relative files inclusion such as suites/*
                # PHPUnit uses stream_resolve_include_path() internally
index 2b77752..a0d23f5 100755 (executable)
@@ -94,6 +94,19 @@ class PHPUnitMaintClass extends Maintenance {
                        unset( $_SERVER['argv'][$key + 1] ); // its value
                        $_SERVER['argv'] = array_values( $_SERVER['argv'] );
                }
+
+               if ( !wfIsWindows() ) {
+                       # If we are not running on windows then we can enable phpunit colors
+                       # Windows does not come anymore with ANSI.SYS loaded by default
+                       # PHPUnit uses the suite.xml parameters to enable/disable colors
+                       # which can be then forced to be enabled with --colors.
+                       # The below code injects a parameter just like if the user called
+                       # Probably fix bug 29226
+                       $key = array_search( '--colors', $_SERVER['argv'] );
+                       if( $key === false ) {
+                               array_splice( $_SERVER['argv'], 1, 0, '--colors' );
+                       }
+               }
        }
 
        public function getDbType() {
index 3b0bf6b..574c11e 100644 (file)
@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<!-- colors don't work on Windows! -->
+<!--
+Colors don't work on Windows!
+phpunit.php enables colors for other OSs at runtime
+-->
 <phpunit bootstrap="./bootstrap.php"
-       colors="true"
+       colors="false"
        backupGlobals="false"
        convertErrorsToExceptions="true"
        convertNoticesToExceptions="true"