123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <?php
- class MediaWikiPHPUnitTestListener extends PHPUnit_Framework_BaseTestListener {
- /**
- * @var string
- */
- protected $logChannel = 'PHPUnitCommand';
- protected function getTestName( PHPUnit_Framework_Test $test ) {
- $name = get_class( $test );
- if ( $test instanceof PHPUnit\Framework\TestCase ) {
- $name .= '::' . $test->getName( true );
- }
- return $name;
- }
- protected function getErrorName( Exception $exception ) {
- $name = get_class( $exception );
- $name = "[$name] " . $exception->getMessage();
- return $name;
- }
- /**
- * An error occurred.
- *
- * @param PHPUnit_Framework_Test $test
- * @param Exception $e
- * @param float $time
- */
- public function addError( PHPUnit_Framework_Test $test, Exception $e, $time ) {
- wfDebugLog(
- $this->logChannel,
- 'ERROR in ' . $this->getTestName( $test ) . ': ' . $this->getErrorName( $e )
- );
- }
- /**
- * A failure occurred.
- *
- * @param PHPUnit_Framework_Test $test
- * @param PHPUnit_Framework_AssertionFailedError $e
- * @param float $time
- */
- public function addFailure( PHPUnit_Framework_Test $test,
- PHPUnit_Framework_AssertionFailedError $e, $time
- ) {
- wfDebugLog(
- $this->logChannel,
- 'FAILURE in ' . $this->getTestName( $test ) . ': ' . $this->getErrorName( $e )
- );
- }
- /**
- * Incomplete test.
- *
- * @param PHPUnit_Framework_Test $test
- * @param Exception $e
- * @param float $time
- */
- public function addIncompleteTest( PHPUnit_Framework_Test $test, Exception $e, $time ) {
- wfDebugLog(
- $this->logChannel,
- 'Incomplete test ' . $this->getTestName( $test ) . ': ' . $this->getErrorName( $e )
- );
- }
- /**
- * Skipped test.
- *
- * @param PHPUnit_Framework_Test $test
- * @param Exception $e
- * @param float $time
- */
- public function addSkippedTest( PHPUnit_Framework_Test $test, Exception $e, $time ) {
- wfDebugLog(
- $this->logChannel,
- 'Skipped test ' . $this->getTestName( $test ) . ': ' . $this->getErrorName( $e )
- );
- }
- /**
- * A test suite started.
- *
- * @param PHPUnit_Framework_TestSuite $suite
- */
- public function startTestSuite( PHPUnit_Framework_TestSuite $suite ) {
- wfDebugLog( $this->logChannel, 'START suite ' . $suite->getName() );
- }
- /**
- * A test suite ended.
- *
- * @param PHPUnit_Framework_TestSuite $suite
- */
- public function endTestSuite( PHPUnit_Framework_TestSuite $suite ) {
- wfDebugLog( $this->logChannel, 'END suite ' . $suite->getName() );
- }
- /**
- * A test started.
- *
- * @param PHPUnit_Framework_Test $test
- */
- public function startTest( PHPUnit_Framework_Test $test ) {
- Hooks::run( 'MediaWikiPHPUnitTest::startTest', [ $test ] );
- wfDebugLog( $this->logChannel, 'Start test ' . $this->getTestName( $test ) );
- }
- /**
- * A test ended.
- *
- * @param PHPUnit_Framework_Test $test
- * @param float $time
- */
- public function endTest( PHPUnit_Framework_Test $test, $time ) {
- Hooks::run( 'MediaWikiPHPUnitTest::endTest', [ $test, $time ] );
- wfDebugLog( $this->logChannel, 'End test ' . $this->getTestName( $test ) );
- }
- }
|