Skip to content

Commit 2a7e8d2

Browse files
committed
Merge branch '6.4' into 7.0
* 6.4: [PhpUnitBridge] Fix error handler triggered outside of tests
2 parents 20c6019 + 9921ea3 commit 2a7e8d2

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

Diff for: DeprecationErrorHandler.php

+11-7
Original file line numberDiff line numberDiff line change
@@ -367,22 +367,26 @@ private static function getPhpUnitErrorHandler(): callable
367367

368368
if ('PHPUnit\Util\ErrorHandler::handleError' === $eh) {
369369
return $eh;
370-
} elseif (ErrorHandler::class === $eh) {
371-
return function (int $errorNumber, string $errorString, string $errorFile, int $errorLine) {
372-
ErrorHandler::instance()($errorNumber, $errorString, $errorFile, $errorLine);
373-
374-
return true;
375-
};
376370
}
377371

378372
foreach (debug_backtrace(\DEBUG_BACKTRACE_PROVIDE_OBJECT | \DEBUG_BACKTRACE_IGNORE_ARGS) as $frame) {
379-
if (isset($frame['object']) && $frame['object'] instanceof TestResult) {
373+
if (!isset($frame['object'])) {
374+
continue;
375+
}
376+
377+
if ($frame['object'] instanceof TestResult) {
380378
return new $eh(
381379
$frame['object']->getConvertDeprecationsToExceptions(),
382380
$frame['object']->getConvertErrorsToExceptions(),
383381
$frame['object']->getConvertNoticesToExceptions(),
384382
$frame['object']->getConvertWarningsToExceptions()
385383
);
384+
} elseif (ErrorHandler::class === $eh && $frame['object'] instanceof TestCase) {
385+
return function (int $errorNumber, string $errorString, string $errorFile, int $errorLine) {
386+
ErrorHandler::instance()($errorNumber, $errorString, $errorFile, $errorLine);
387+
388+
return true;
389+
};
386390
}
387391
}
388392

0 commit comments

Comments
 (0)