Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 820 Bytes

File metadata and controls

24 lines (18 loc) · 820 Bytes

Contributing

Test

make test/unit        # PHPUnit on the default PHP 8.4 runtime
make test/unit/php85  # only tests tagged `@group php85`; needs a PHP 8.5 runtime
make test/mutation    # Infection, MSI under a 95 % gate

The supported runtime is PHP ^8.4. Tests that exercise newer-PHP syntax (e.g. the 8.5 pipe operator) are tagged @group php85; make test/unit excludes them and they self-skip via #[RequiresPhp] off an 8.5 host. CI runs them in a dedicated PHP 8.5 job.

No PHP 8.5 locally? Run them in the bundled 8.5 container:

docker compose run --rm php85 make test/unit/php85

CI gates every PR on these targets. infection.json5 carries a curated set of per-mutator ignore rules for genuinely-equivalent / defensive mutations so the report only surfaces real test gaps.