When a unit test fails it is possible, perhaps even likely in some cases, that some code that was run logged useful information about how that failure came to be. Help people out, tell them what happened! Change-Id: I30bbc31799a65024868678d052fec9aafacc1aff
18 lines
546 B
PHP
18 lines
546 B
PHP
<?php
|
|
|
|
class MediaWikiPHPUnitResultPrinter extends PHPUnit_TextUI_ResultPrinter {
|
|
/** @var MediaWikiLoggerPHPUnitTestListener */
|
|
private static $logListener;
|
|
|
|
public static function setLogListener( MediaWikiLoggerPHPUnitTestListener $logListener ) {
|
|
self::$logListener = $logListener;
|
|
}
|
|
|
|
protected function printDefectTrace( PHPUnit_Framework_TestFailure $defect ) {
|
|
$log = self::$logListener->getLog();
|
|
if ( $log ) {
|
|
$this->write( "=== Logs generated by test case\n{$log}\n===\n" );
|
|
}
|
|
parent::printDefectTrace( $defect );
|
|
}
|
|
}
|