Merge "Sync DeviceDetection with MF"
[lhc/web/wiklou.git] / tests / phpunit / MediaWikiPHPUnitCommand.php
index c0d9f36..ea385ad 100644 (file)
@@ -5,7 +5,10 @@ class MediaWikiPHPUnitCommand extends PHPUnit_TextUI_Command {
        static $additionalOptions = array(
                'regex=' => false,
                'file=' => false,
+               'use-filebackend=' => false,
                'keep-uploads' => false,
+               'use-normal-tables' => false,
+               'reuse-db' => false,
        );
 
        public function __construct() {
@@ -17,6 +20,28 @@ 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
+               # See bug 32022
+               set_include_path(
+                       dirname( __FILE__ )
+                       .PATH_SEPARATOR
+                       . get_include_path()
+               );
+
                $command->run($_SERVER['argv'], $exit);
        }
 
@@ -40,6 +65,11 @@ ParserTest-specific options:
   --keep-uploads           Re-use the same upload directory for each test, don't delete it
 
 
+Database options:
+  --use-normal-tables      Use normal DB tables.
+  --reuse-db               Init DB only if tables are missing and keep after finish.
+
+
 EOT;
        }