X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FMediaWikiLoggerPHPUnitTestListener.php;h=8f3418077b1ec7e95f4a46f9b75ae7f9c25a00e2;hb=04cea76cbbd1c66ddfa2a674cf383ffb497234ae;hp=adb01962ca2fa7109bce7ed4c0af95a9a5c6d239;hpb=91a693919e2e704114f2e69e3282577e4c47bb15;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php b/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php index adb01962ca..8f3418077b 100644 --- a/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php +++ b/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php @@ -14,8 +14,6 @@ class MediaWikiLoggerPHPUnitTestListener extends PHPUnit_Framework_BaseTestListe private $originalSpi; /** @var Spi|null */ private $spi; - /** @var array|null */ - private $lastTestLogs; /** * A test started. @@ -29,6 +27,40 @@ class MediaWikiLoggerPHPUnitTestListener extends PHPUnit_Framework_BaseTestListe LoggerFactory::registerProvider( $this->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'],