Merge branch '2.8' into 3.2

* 2.8:
  disable global test listener when not registered
This commit is contained in:
Fabien Potencier 2017-03-01 17:46:11 -08:00
commit b45e99f7cc
2 changed files with 17 additions and 1 deletions

View File

@ -79,6 +79,12 @@ class SymfonyTestsListener extends \PHPUnit_Framework_BaseTestListener
}
}
public function globalListenerDisabled()
{
self::$globallyEnabled = false;
$this->state = -1;
}
public function startTestSuite(\PHPUnit_Framework_TestSuite $suite)
{
$suiteName = $suite->getName();

View File

@ -33,7 +33,17 @@ class TestRunner extends \PHPUnit_TextUI_TestRunner
$arguments['listeners'] = isset($arguments['listeners']) ? $arguments['listeners'] : array();
if (!array_filter($arguments['listeners'], function ($listener) { return $listener instanceof SymfonyTestsListener; })) {
$registeredLocally = false;
foreach ($arguments['listeners'] as $registeredListener) {
if ($registeredListener instanceof SymfonyTestsListener) {
$registeredListener->globalListenerDisabled();
$registeredLocally = true;
break;
}
}
if (!$registeredLocally) {
$arguments['listeners'][] = $listener;
}