Skip to content

Isolate mutation targets from the independent checker gate - #18

Merged
jeregrine merged 4 commits into
mainfrom
fix-mutation-exunit-isolation
Sep 15, 2026
Merged

jeregrine merged 4 commits into
mainfrom
fix-mutation-exunit-isolation

Conversation

@jeregrine

Copy link
Copy Markdown
Member

Problem

Mutation regressions invoke the full mix test alias. The skip-checker environment variable does not bypass its unconditional checker command, so an unrelated JVM/bootstrap failure can turn a passing target into a false mutant kill.

Fix

Give mutation baselines and targets an explicit mix test.exunit path which invokes the ExUnit task directly in the test environment. Ordinary mix test retains the complete ExUnit plus pure checker gate, regardless of inherited skip flags.

Supporting information

An explicit task avoids making the documented gate depend on ambient environment state. The campaign still rejects failed baselines and noncompiling mutants; its existing target failure and timeout classification is otherwise unchanged. A dependency-free fixture exercises the actual campaign and project aliases with a deliberately broken checker, covering survival, assertion failure, baseline failure, and invalid compilation.

@jeregrine
jeregrine merged commit 423ae9b into main Sep 15, 2026
7 checks passed
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