Skip to content

Commit e6742f5

Browse files
committed
[PhpUnitBridge] Fix error handler triggered outside of tests
1 parent b21398f commit e6742f5

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

DeprecationErrorHandler.php

+11-7
Original file line numberDiff line numberDiff line change
@@ -368,22 +368,26 @@ private static function getPhpUnitErrorHandler()
368368

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

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

0 commit comments

Comments
 (0)