Skip to content

Commit 33c1ece

Browse files
mvoriseksebastianbergmann
authored andcommitted
handle E_USER_ERROR but abort further test execution
1 parent 6ad7e60 commit 33c1ece

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

src/Runner/ErrorHandler.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
use function error_reporting;
2828
use function restore_error_handler;
2929
use function set_error_handler;
30+
use ErrorException;
3031
use PHPUnit\Event;
3132
use PHPUnit\Event\Code\NoTestCaseObjectOnCallStackException;
3233
use PHPUnit\Runner\Baseline\Baseline;
@@ -151,7 +152,7 @@ public function __invoke(int $errorNumber, string $errorString, string $errorFil
151152
$suppressed,
152153
);
153154

154-
break;
155+
throw new ErrorException('Any E_*_ERROR must abort execution');
155156

156157
default:
157158
return false;

tests/end-to-end/event/user-error.phpt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ Test Prepared (PHPUnit\TestFixture\Event\UserErrorTest::testUserError)
3232
Assertion Succeeded (Constraint: is true, Value: true)
3333
Test Triggered Error (PHPUnit\TestFixture\Event\UserErrorTest::testUserError)
3434
message
35-
Test Passed (PHPUnit\TestFixture\Event\UserErrorTest::testUserError)
35+
Test Errored (PHPUnit\TestFixture\Event\UserErrorTest::testUserError)
36+
Any E_*_ERROR must abort execution
3637
Test Finished (PHPUnit\TestFixture\Event\UserErrorTest::testUserError)
3738
Test Suite Finished (PHPUnit\TestFixture\Event\UserErrorTest, 1 test)
3839
Test Runner Execution Finished

0 commit comments

Comments
 (0)