From 97600b6f0bb838ea680c26f8bb832a8ed16ea489 Mon Sep 17 00:00:00 2001 From: nuno maduro Date: Fri, 1 May 2026 20:53:40 +0100 Subject: [PATCH] wip --- composer.json | 4 ++-- src/Logging/Converter.php | 8 ++++++-- src/Support/StateGenerator.php | 16 +++++++++++----- tests/Arch.php | 2 ++ 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/composer.json b/composer.json index dc21ae86..842ecd19 100644 --- a/composer.json +++ b/composer.json @@ -26,12 +26,12 @@ "pestphp/pest-plugin-arch": "^4.0.2", "pestphp/pest-plugin-mutate": "^4.0.1", "pestphp/pest-plugin-profanity": "^4.2.1", - "phpunit/phpunit": "^12.5.23", + "phpunit/phpunit": "^12.5.24", "symfony/process": "^7.4.8|^8.0.8" }, "conflict": { "filp/whoops": "<2.18.3", - "phpunit/phpunit": ">12.5.23", + "phpunit/phpunit": ">12.5.24", "sebastian/exporter": "<7.0.0", "webmozart/assert": "<1.11.0" }, diff --git a/src/Logging/Converter.php b/src/Logging/Converter.php index e0b69bb0..1c8b38cc 100644 --- a/src/Logging/Converter.php +++ b/src/Logging/Converter.php @@ -12,7 +12,9 @@ use PHPUnit\Event\Code\Test; use PHPUnit\Event\Code\TestMethod; use PHPUnit\Event\Code\Throwable; use PHPUnit\Event\Test\AfterLastTestMethodErrored; +use PHPUnit\Event\Test\AfterLastTestMethodFailed; use PHPUnit\Event\Test\BeforeFirstTestMethodErrored; +use PHPUnit\Event\Test\BeforeFirstTestMethodFailed; use PHPUnit\Event\Test\ConsideredRisky; use PHPUnit\Event\Test\Errored; use PHPUnit\Event\Test\Failed; @@ -255,9 +257,11 @@ final readonly class Converter $numberOfNotPassedTests = count( array_unique( array_map( - function (AfterLastTestMethodErrored|BeforeFirstTestMethodErrored|Errored|Failed|Skipped|ConsideredRisky|MarkedIncomplete $event): string { + function (AfterLastTestMethodErrored|AfterLastTestMethodFailed|BeforeFirstTestMethodErrored|BeforeFirstTestMethodFailed|Errored|Failed|Skipped|ConsideredRisky|MarkedIncomplete $event): string { if ($event instanceof BeforeFirstTestMethodErrored - || $event instanceof AfterLastTestMethodErrored) { + || $event instanceof AfterLastTestMethodErrored + || $event instanceof BeforeFirstTestMethodFailed + || $event instanceof AfterLastTestMethodFailed) { return $event->testClassName(); } diff --git a/src/Support/StateGenerator.php b/src/Support/StateGenerator.php index 9872f52d..f9b32d60 100644 --- a/src/Support/StateGenerator.php +++ b/src/Support/StateGenerator.php @@ -11,6 +11,7 @@ use PHPUnit\Event\Code\TestDoxBuilder; use PHPUnit\Event\Code\TestMethod; use PHPUnit\Event\Code\ThrowableBuilder; use PHPUnit\Event\Test\Errored; +use PHPUnit\Event\Test\Failed; use PHPUnit\Event\Test\PhpunitDeprecationTriggered; use PHPUnit\Event\Test\PhpunitErrorTriggered; use PHPUnit\Event\Test\PhpunitNoticeTriggered; @@ -40,11 +41,16 @@ final class StateGenerator } foreach ($testResult->testFailedEvents() as $testResultEvent) { - $state->add(TestResult::fromPestParallelTestCase( - $testResultEvent->test(), - TestResult::FAIL, - $testResultEvent->throwable() - )); + if ($testResultEvent instanceof Failed) { + $state->add(TestResult::fromPestParallelTestCase( + $testResultEvent->test(), + TestResult::FAIL, + $testResultEvent->throwable() + )); + } else { + // @phpstan-ignore-next-line + $state->add(TestResult::fromBeforeFirstTestMethodErrored($testResultEvent)); + } } $this->addTriggeredPhpunitEvents($state, $testResult->testTriggeredPhpunitErrorEvents(), TestResult::FAIL); diff --git a/tests/Arch.php b/tests/Arch.php index 3eca267a..82aa93da 100644 --- a/tests/Arch.php +++ b/tests/Arch.php @@ -1,6 +1,7 @@ preset()->php()->ignoring([ Expectation::class, @@ -13,6 +14,7 @@ arch()->preset()->php()->ignoring([ ]); arch()->preset()->strict()->ignoring([ + BaselineSync::class, 'usleep', ]);