X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FMediaWikiLoggerPHPUnitTestListener.php;h=8f3418077b1ec7e95f4a46f9b75ae7f9c25a00e2;hb=04cea76cbbd1c66ddfa2a674cf383ffb497234ae;hp=502685d346033d9a4113e5aa30103e248a8c676f;hpb=d3a4ac1bb6accbaf3be0c0067358b64184a03490;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php b/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php index 502685d346..8f3418077b 100644 --- a/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php +++ b/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php @@ -1,8 +1,8 @@ spi ); } + public function addRiskyTest( PHPUnit_Framework_Test $test, Exception $e, $time ) { + $this->augmentTestWithLogs( $test ); + } + + public function addIncompleteTest( PHPUnit_Framework_Test $test, Exception $e, $time ) { + $this->augmentTestWithLogs( $test ); + } + + public function addSkippedTest( PHPUnit_Framework_Test $test, Exception $e, $time ) { + $this->augmentTestWithLogs( $test ); + } + + public function addError( PHPUnit_Framework_Test $test, Exception $e, $time ) { + $this->augmentTestWithLogs( $test ); + } + + public function addWarning( PHPUnit_Framework_Test $test, PHPUnit\Framework\Warning $e, $time ) { + $this->augmentTestWithLogs( $test ); + } + + public function addFailure( PHPUnit_Framework_Test $test, + PHPUnit_Framework_AssertionFailedError $e, $time + ) { + $this->augmentTestWithLogs( $test ); + } + + private function augmentTestWithLogs( PHPUnit_Framework_Test $test ) { + if ( $this->spi ) { + $logs = $this->spi->getLogs(); + $formatted = $this->formatLogs( $logs ); + $test->_formattedMediaWikiLogs = $formatted; + } + } + /** * A test ended. * @@ -36,7 +68,6 @@ class MediaWikiLoggerPHPUnitTestListener extends PHPUnit_Framework_BaseTestListe * @param float $time */ public function endTest( PHPUnit_Framework_Test $test, $time ) { - $this->lastTestLogs = $this->spi->getLogs(); LoggerFactory::registerProvider( $this->originalSpi ); $this->originalSpi = null; $this->spi = null; @@ -46,15 +77,17 @@ class MediaWikiLoggerPHPUnitTestListener extends PHPUnit_Framework_BaseTestListe * Get string formatted logs generated during the last * test to execute. * + * @param array $logs * @return string */ - public function getLog() { - $logs = $this->lastTestLogs; - if ( !$logs ) { - return ''; - } + private function formatLogs( array $logs ) { $message = []; foreach ( $logs as $log ) { + if ( $log['channel'] === 'PHPUnitCommand' ) { + // Don't print the log of PHPUnit events while running PHPUnit, + // because PHPUnit is already printing those already. + continue; + } $message[] = sprintf( '[%s] [%s] %s %s', $log['channel'],