Merge "Log profiling data when tests have finished."
[lhc/web/wiklou.git] / tests / phpunit / MediaWikiPHPUnitCommand.php
index 18475ca..473e641 100644 (file)
@@ -37,7 +37,7 @@ class MediaWikiPHPUnitCommand extends PHPUnit_TextUI_Command {
                # PHPUnit uses stream_resolve_include_path() internally
                # See bug 32022
                set_include_path(
-                       dirname( __FILE__ )
+                       __DIR__
                        .PATH_SEPARATOR
                        . get_include_path()
                );
@@ -53,17 +53,20 @@ class MediaWikiPHPUnitCommand extends PHPUnit_TextUI_Command {
                }
        }
 
-       protected function handleCustomTestSuite() {
-               if ( empty( $this->arguments['printer'] ) ) {
-                       $this->arguments['printer'] = new PHPUnit_TextUI_ResultPrinter(
-                               null,
-                               isset($this->arguments['verbose']) ? $this->arguments['verbose'] : false,
-                               isset($this->arguments['colors']) ? $this->arguments['colors'] : true,
-                               isset($this->arguments['debug']) ? $this->arguments['debug'] : false
-                       );
-               }
+       public function run( array $argv, $exit = true ) {
+               $ret = parent::run( $argv, false );
+
+               // Return to real wiki db, so profiling data is preserved
+               MediaWikiTestCase::teardownTestDB();
+
+               // Log profiling data, e.g. in the database or UDP
+               wfLogProfilingData();
 
-               parent::handleCustomTestSuite();
+               if ( $exit ) {
+                       exit( $ret );
+               } else {
+                       return $ret;
+               }
        }
 
        public function showHelp() {
@@ -87,30 +90,3 @@ EOT;
        }
 
 }
-
-class MediaWikiPHPUnitResultPrinter extends PHPUnit_TextUI_ResultPrinter {
-       /**
-        * Overrides original method to ignore incomplete tests except in verbose mode.
-        *
-        * @param  PHPUnit_Framework_TestResult  $result
-        */
-       protected function printIncompletes(PHPUnit_Framework_TestResult $result)
-       {
-               if ( $this->verbose ) {
-                       parent::printIncompletes( $result );
-               }
-       }
-
-       /**
-        * Overrides original method to ignore skipped tests except in verbose mode.
-        *
-        * @param  PHPUnit_Framework_TestResult  $result
-        */
-       protected function printSkipped(PHPUnit_Framework_TestResult $result)
-       {
-               if ( $this->verbose ) {
-                       parent::printSkipped( $result );
-               }
-       }
-
-}