X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FMediaWikiLoggerPHPUnitTestListener.php;h=f87afb0471e4745116e7cfc4b62131f94faa9e50;hb=f28d5f772fde609ed6cc09e2aafd641e806e5bdf;hp=adb01962ca2fa7109bce7ed4c0af95a9a5c6d239;hpb=6679632b770d0c883c26a78f483f340e59950e2c;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php b/tests/phpunit/MediaWikiLoggerPHPUnitTestListener.php index adb01962ca..f87afb0471 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,13 +77,10 @@ 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 ) { $message[] = sprintf(