Repository navigation
ci: run mutation tests with Infection - #47
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 19 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
187ee9c to
7d696b3
Compare
The Infection phar cannot run Testo mutants: its bundled adapter references the unscoped `\Infection\StreamWrapper\IncludeInterceptor`, which only exists under the `Infected\` prefix inside the phar. Infection is therefore installed with Composer inside the PHP 8.4 job, keeping require-dev installable on PHP 8.2. Infection stops the initial test run on the first stderr output, so `log_errors` is off: the msgpack clone test triggers an expected "Extra bytes" warning. Assisted-By: Claude Opus 5.5 <noreply@anthropic.com>
7d696b3 to
ec6838d
Compare
|
@coderabbitai review |
|
|
@coderabbitai review |
|
🔍 What was changed
Mutation Testsworkflow: PHP 8.4 with Xdebug and ext-msgpack, starts the Go test server, runs Infection oversrcwith--min-msi=90 --min-covered-msi=90and publishes the4.xreport to the Stryker dashboard on push.infection.json.distwrites intoruntime/, emits GitHub annotations and the Stryker report; mutation testing badge added to the README.Review notes
testo/bridge-infectionwrites the unscoped\Infection\StreamWrapper\IncludeInterceptorinto the mutant bootstrap, while the phar only hasInfected\Infection\..., so every mutant fails with "class not found" and is counted as killed. The workflow installs Infection with Composer inside the job instead;composer.jsonis unchanged.MsgPackMultiRPCTest::testHandlesCloneCorrectlytriggers an expected msgpack "Extra bytes" warning, so the job runs withlog_errors=Off.STRYKER_DASHBOARD_API_KEYsecret is required for the dashboard report and badge.Checklist