Skip to content

feat: add InjectException mutation...#2

Draft
amirouche wants to merge 1 commit intodevfrom
mutation-inject-exception
Draft

feat: add InjectException mutation...#2
amirouche wants to merge 1 commit intodevfrom
mutation-inject-exception

Conversation

@amirouche
Copy link
Owner

...fix pytest_addoption double-registration

  • Add InjectException class: replaces expressions with the exception they can raise (ZeroDivisionError, KeyError, IndexError, ValueError, FileNotFoundError, StopIteration, AttributeError). Guarded against injecting inside try/except blocks that already handle the exception, and inside except blocks themselves.
  • Add --without-exception-injection flag to mutation play to skip all InjectException mutations cleanly.
  • Add ijk = 42 / a to foobar/ex.py to exercise the ZeroDivisionError mutation path in the check-foobar target.
  • Document InjectException in README.md with contracts table and example.
  • Fix pytest_addoption double-registration: catch ValueError when --mutation is already registered (conftest.py + -p mutation conflict), restoring make check-foobar functionality.

…e-registration

- Add InjectException class: replaces expressions with the exception
  they can raise (ZeroDivisionError, KeyError, IndexError, ValueError,
  FileNotFoundError, StopIteration, AttributeError). Guarded against
  injecting inside try/except blocks that already handle the exception,
  and inside except blocks themselves.
- Add --without-exception-injection flag to mutation play to skip all
  InjectException mutations cleanly.
- Add ijk = 42 / a to foobar/ex.py to exercise the ZeroDivisionError
  mutation path in the check-foobar target.
- Document InjectException in README.md with contracts table and example.
- Fix pytest_addoption double-registration: catch ValueError when
  --mutation is already registered (conftest.py + -p mutation conflict),
  restoring make check-foobar functionality.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant