testErroredEvents() as $testResultEvent) { if ($testResultEvent instanceof Errored) { $state->add(TestResult::fromPestParallelTestCase( $testResultEvent->test(), TestResult::FAIL, $testResultEvent->throwable() )); } else { $state->add(TestResult::fromBeforeFirstTestMethodErrored($testResultEvent)); } } foreach ($testResult->testFailedEvents() as $testResultEvent) { $state->add(TestResult::fromPestParallelTestCase( $testResultEvent->test(), TestResult::FAIL, $testResultEvent->throwable() )); } foreach ($testResult->testMarkedIncompleteEvents() as $testResultEvent) { $state->add(TestResult::fromPestParallelTestCase( $testResultEvent->test(), TestResult::INCOMPLETE, $testResultEvent->throwable() )); } foreach ($testResult->testConsideredRiskyEvents() as $riskyEvents) { foreach ($riskyEvents as $riskyEvent) { $state->add(TestResult::fromPestParallelTestCase( $riskyEvent->test(), TestResult::RISKY, ThrowableBuilder::from(new TestOutcome($riskyEvent->message())) )); } } foreach ($testResult->testSkippedEvents() as $testResultEvent) { if ($testResultEvent->message() === '__TODO__') { $state->add(TestResult::fromPestParallelTestCase($testResultEvent->test(), TestResult::TODO)); continue; } $state->add(TestResult::fromPestParallelTestCase( $testResultEvent->test(), TestResult::SKIPPED, ThrowableBuilder::from(new SkippedWithMessageException($testResultEvent->message())) )); } foreach ($testResult->deprecations() as $testResultEvent) { foreach ($testResultEvent->triggeringTests() as $triggeringTest) { ['test' => $test] = $triggeringTest; $state->add(TestResult::fromPestParallelTestCase( $test, TestResult::DEPRECATED, ThrowableBuilder::from(new TestOutcome($testResultEvent->description())) )); } } foreach ($testResult->phpDeprecations() as $testResultEvent) { foreach ($testResultEvent->triggeringTests() as $triggeringTest) { ['test' => $test] = $triggeringTest; $state->add(TestResult::fromPestParallelTestCase( $test, TestResult::DEPRECATED, ThrowableBuilder::from(new TestOutcome($testResultEvent->description())) )); } } foreach ($testResult->notices() as $testResultEvent) { foreach ($testResultEvent->triggeringTests() as $triggeringTest) { ['test' => $test] = $triggeringTest; $state->add(TestResult::fromPestParallelTestCase( $test, TestResult::NOTICE, ThrowableBuilder::from(new TestOutcome($testResultEvent->description())) )); } } foreach ($testResult->phpNotices() as $testResultEvent) { foreach ($testResultEvent->triggeringTests() as $triggeringTest) { ['test' => $test] = $triggeringTest; $state->add(TestResult::fromPestParallelTestCase( $test, TestResult::NOTICE, ThrowableBuilder::from(new TestOutcome($testResultEvent->description())) )); } } foreach ($testResult->warnings() as $testResultEvent) { foreach ($testResultEvent->triggeringTests() as $triggeringTest) { ['test' => $test] = $triggeringTest; $state->add(TestResult::fromPestParallelTestCase( $test, TestResult::WARN, ThrowableBuilder::from(new TestOutcome($testResultEvent->description())) )); } } foreach ($testResult->phpWarnings() as $testResultEvent) { foreach ($testResultEvent->triggeringTests() as $triggeringTest) { ['test' => $test] = $triggeringTest; $state->add(TestResult::fromPestParallelTestCase( $test, TestResult::WARN, ThrowableBuilder::from(new TestOutcome($testResultEvent->description())) )); } } // for each test that passed, we need to add it to the state for ($i = 0; $i < $passedTests; $i++) { $state->add(TestResult::fromPestParallelTestCase( new TestMethod( "$i", // @phpstan-ignore-line '', // @phpstan-ignore-line '', // @phpstan-ignore-line 1, TestDoxBuilder::fromClassNameAndMethodName('', ''), // @phpstan-ignore-line MetadataCollection::fromArray([]), TestDataCollection::fromArray([]) ), TestResult::PASS )); } return $state; } }