Skip to content

Refuse existing file stream wrappers - #149

Merged
rasuvaeff merged 2 commits into
masterfrom
fix/148-detect-existing-file-wrapper
Oct 8, 2026
Merged

rasuvaeff merged 2 commits into
masterfrom
fix/148-detect-existing-file-wrapper

Conversation

@rasuvaeff

Copy link
Copy Markdown
Owner

Fixes #148.

bypassFinals() now checks the stream metadata for its own PHP source and refuses when file:// is already served by a user-space wrapper. This prevents silently unregistering Infection's include interceptor, including wrappers that leave Understudy's own source unchanged.

The integration coverage now expects passive wrappers to be refused, and the README and guide describe the broader boundary.

Validation: make build passed. make mutation-diff MUTATION_BASE=origin/master generated no mutants because the changed bypass path is only exercised in subprocess integration scenarios, which are marked CoversNothing; the full build includes and passes those scenarios.

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0db9e82f-67a0-41fb-a78b-8c152ad4adb1
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rasuvaeff
rasuvaeff merged commit f85175a into master Oct 8, 2026
25 checks passed
@rasuvaeff
rasuvaeff deleted the fix/148-detect-existing-file-wrapper branch October 8, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bypassFinals() silently replaces Infection's include interceptor: every mutant escapes

1 participant