paratestphp / paratest

:computer: Parallel testing for PHPUnit
MIT License
2.32k stars 229 forks source link

Incompatibility with PHPUnit 10.5.32 #886

Closed kylekatarnls closed 2 months ago

kylekatarnls commented 2 months ago
Q A
ParaTest version 7.4.5
PHPUnit version 10.5.32
PHP version 8.3

Summary

Since PHPUnit 10.5.32 and the following change: https://github.com/sebastianbergmann/phpunit/commit/1a5d2b8ceaecedc51d628c41b1111633be0b29eb#diff-3b9b98e6c9bd5a80fc038c5f5d9b035eff07b727d5d33eb64f93dbc04a1ed409R25

Current behavior

OK (820 tests, 2585 assertions)
PHP Fatal error:  Uncaught TypeError: PHPUnit\TextUI\ShellExitCodeCalculator::calculate(): Argument #8 ($failOnWarning) must be of type bool, PHPUnit\TestRunner\TestResult\TestResult given, called in /home/runner/work/phpmd/phpmd/vendor/brianium/paratest/src/WrapperRunner/WrapperRunner.php on line 295 and defined in /home/runner/work/phpmd/phpmd/vendor/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php:25
Stack trace:
#0 /home/runner/work/phpmd/phpmd/vendor/brianium/paratest/src/WrapperRunner/WrapperRunner.php(295): PHPUnit\TextUI\ShellExitCodeCalculator->calculate()
#1 /home/runner/work/phpmd/phpmd/vendor/brianium/paratest/src/WrapperRunner/WrapperRunner.php(119): ParaTest\WrapperRunner\WrapperRunner->complete()
#2 /home/runner/work/phpmd/phpmd/vendor/brianium/paratest/src/ParaTestCommand.php(89): ParaTest\WrapperRunner\WrapperRunner->run()
#3 /home/runner/work/phpmd/phpmd/vendor/symfony/console/Command/Command.php(279): ParaTest\ParaTestCommand->execute()
#4 /home/runner/work/phpmd/phpmd/vendor/symfony/console/Application.php(1029): Symfony\Component\Console\Command\Command->run()
#5 /home/runner/work/phpmd/phpmd/vendor/symfony/console/Application.php(316): Symfony\Component\Console\Application->doRunCommand()
#6 /home/runner/work/phpmd/phpmd/vendor/symfony/console/Application.php(167): Symfony\Component\Console\Application->doRun()
#7 /home/runner/work/phpmd/phpmd/vendor/brianium/paratest/bin/paratest([37](https://github.com/phpmd/phpmd/actions/runs/10763449164/job/29844993453#step:7:38)): Symfony\Component\Console\Application->run()
#8 /home/runner/work/phpmd/phpmd/vendor/bin/paratest(119): include('...')
#9 {main}
  thrown in /home/runner/work/phpmd/phpmd/vendor/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php on line 25
Script paratest handling the test event returned with error code 255

How to reproduce: command, code and error stack trace

A priori, looking at the error, it should happen with any basic test suite running with paratest.

Like in this job. https://github.com/phpmd/phpmd/actions/runs/10763449164/job/29844993453

Expected behavior

OK (820 tests, 2585 assertions)

(Works with PHPUnit 10.5.31)

Slamdunk commented 2 months ago

Duplicate of https://github.com/paratestphp/paratest/issues/884

Slamdunk commented 2 months ago

Thanks with the support of @arnovbr, a fix has been released in v7.4.6