Repository navigation
Switch to infection/infection - #351
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThe PR migrates mutation testing from Roave’s static-analysis plugin to the standard Infection package, updating development dependencies, local commands, documentation, and the reusable CI workflow while preserving existing execution options and dashboard integration. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #351 +/- ##
=========================================
Coverage 95.15% 95.15%
Complexity 395 395
=========================================
Files 59 59
Lines 1031 1031
=========================================
Hits 981 981
Misses 50 50 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="Makefile" line_range="34" />
<code_context>
mutation: infection
infection: ## [infection] Run mutation testing with Infection.
- $(RUN) ./vendor/bin/roave-infection-static-analysis-plugin --threads=max --ignore-msi-with-no-mutations --only-covered
+ $(RUN) ./vendor/bin/infection --threads=max --ignore-msi-with-no-mutations --only-covered
psalm: ## Run Psalm static analysis: `make psalm ARGS="--show-info=true"`
</code_context>
<issue_to_address>
**Static checks no longer gate mutants**
When a generated mutant violates a static-analysis check but still runs through the mutation tests, the standard Infection command runs without a static-analysis tool configured, so mutants that violate Psalm checks are no longer rejected during mutation testing and the results lose the previous static-analysis validation.
Configure Infection’s static-analysis integration with the project’s chosen analyzer in `infection.json.dist` or pass the corresponding option in both local and CI commands.
Also at `.github/workflows/mutation.yml:33`, `composer.json:48`.
</issue_to_address>Sourcery assessment
Approval pending. 1 finding to address first.
Blocking findings: Makefile:34
| mutation: infection | ||
| infection: ## [infection] Run mutation testing with Infection. | ||
| $(RUN) ./vendor/bin/roave-infection-static-analysis-plugin --threads=max --ignore-msi-with-no-mutations --only-covered | ||
| $(RUN) ./vendor/bin/infection --threads=max --ignore-msi-with-no-mutations --only-covered |
There was a problem hiding this comment.
🟡 Medium · Static checks no longer gate mutants
When a generated mutant violates a static-analysis check but still runs through the mutation tests, the standard Infection command runs without a static-analysis tool configured, so mutants that violate Psalm checks are no longer rejected during mutation testing and the results lose the previous static-analysis validation.
Configure Infection’s static-analysis integration with the project’s chosen analyzer in infection.json.dist or pass the corresponding option in both local and CI commands.
Also at .github/workflows/mutation.yml:33, composer.json:48.
Prompt for AI agents
In `Makefile` at line 34:
**Static checks no longer gate mutants**
When a generated mutant violates a static-analysis check but still runs through the mutation tests, the standard Infection command runs without a static-analysis tool configured, so mutants that violate Psalm checks are no longer rejected during mutation testing and the results lose the previous static-analysis validation.
Configure Infection’s static-analysis integration with the project’s chosen analyzer in `infection.json.dist` or pass the corresponding option in both local and CI commands.
Also at `.github/workflows/mutation.yml:33`, `composer.json:48`.
Summary by Sourcery
Switch mutation testing from the Roave plugin to the standard Infection package.
Enhancements:
CI:
Documentation:
Chores: