fair-plugin/tests/mutation
Chuck Adams 5997c4b5af
refactor: isolate infection mutation testing to tests/mutation/
Moves infection/infection and its transitive deps (thecodingmachine/safe
et al) out of the root composer environment into tests/mutation/composer.json.
The root vendor is now PHP 8.0-clean — thecodingmachine/safe implicit-nullable
deprecation noise on PHP 8.4 is gone from unit test runs.

tests/mutation/composer.json:
  - php >=8.4 (no platform pin — free to use PHP 8.5 in Docker)
  - require-dev: infection/infection ^0.27
  - Own vendor/, gitignored along with composer.lock

docker-compose.yml:
  - Root: composer install --ignore-platform-reqs (plugin + phpunit)
  - tests/mutation/: composer install (infection only)
  - Binary path: tests/mutation/vendor/bin/infection
  - mutation-vendor named volume preserves installs across runs

Root cleanup:
  - Removed infection/* and thecodingmachine/safe from composer.lock
  - Removed vendor/infection/ and vendor/thecodingmachine/

No Safe deprecation noise. 262 tests pass.

Signed-off-by: Chuck Adams <chaz@chaz.works>
2026-06-09 16:00:33 -06:00
..
composer.json refactor: isolate infection mutation testing to tests/mutation/ 2026-06-09 16:00:33 -06:00