Paraunit 2.12.0: upgrade to PHPUnit 13.1

I finally had the time to finalize #paraunit 2.12.0, which brings PHPUnit support to 13.1!

It took a lot of time because I had limited effort, and PHPUnit under the hood bumps php-code-coverage to a new major (v14) that required a bit of rework, along with dropping support for all previous versions… I tried cross-compat, but it was too complicated!

Happy testing!

Symfony Functional test case 1.5.0

This release was forced upon me from Symfony, since 8.1 includes a new runCommand static method in its KernelTestCase class, which collides with our own. Since our method is non-static, this creates a fatal error every time that our class is autoloaded.

Paraunit 2.11.0: `--stop-on-*` and `--display-*` options

With this new minor, I wanted to get out of the door a lot of usability features that I wanted to implement for so long. Now, all --stop-on-* and --display-* CLI options are available in Paraunit. I rushed this out because the next minor will require a huge bump on PHPUnit (13.1 will be the minimum), so I didn’t want to gatekeep those behind that update for the end users.

In addition, this version relaxes the constraints by no longer requiring ext-pcntl to be installed.

Paraunit 2.10.0: respect ignored test issues

With this new minor, we’re adding a new usability feature: we’re respecting PHPUnit suppression of issues, either if that happens via attributes or via baseline. Such information was already being propagated by PHPUnit’s event system, onto which Paraunit latches to work its magic.

Credits to @keradus, the maintainer of PHP-CS-Fixer (which uses Paraunit it its CI), for bringing this to my attention.

The obvious next step would be to support similar options for output coming from PHPUnit config of from –-display-* CLI options.

Paraunit 2.9.0: coverage cache warmup

With this new minor, we’re adding a small performance improvement for test coverage, by running phpunit -- before running all tests. This small feature should reduce tests execution time and avoid race conditions when the first batch of tests runs (and find the cache not ready).

Credits to Sebastian for pointing this out to me!