Skip to content
mutastic

Rust edition

mutastic ignore

Record a decision not to test one mutant. It goes in .mutastic/ignores.yaml in the package's directory with its line and the reason, to commit and review, and lapses when that line changes: the mutant runs again, and run-finished lists it in staleIgnores. --remove takes one back; ignore --prune takes away every one that has lapsed. --propose records it in .mutastic/proposals.yaml instead, for a person to accept with --accept: how a coding agent says a mutant isn't worth a test, since until then it still counts as missed. A proposal that a mutant is equivalent or unreachable says the one case where it differs, and why that can't happen. It runs no tests, and each step says how to undo it.

Usage

Terminal window
mutastic ignore <id> [dir] --reason=<why>

Inside a package, cargo mutastic ignore runs the same command, with the same options.

Exit status

0 when the decision is recorded, proposed, accepted or removed; 1 when --accept names a mutant that isn't proposed. Any command exits 2 when mutastic couldn't run: see exit codes.

Options

--reason=WHY

Why the mutant isn't worth a test: every ignore says.

Command line--reason=WHY

--as=KIND

What sort of decision it is.

One of equivalentunreachabletelemetrydeprecatedaccepted-risk

Command line--as=KIND

--remove

Take the mutant's ignore, or its proposal, away, so it runs again.

Command line--remove

--propose

Propose the ignore for a person to accept, rather than make it: a coding agent's way. An equivalent or unreachable mutant's reason says the one case where it differs and why that can't happen.

Command line--propose

--accept

Accept a proposed ignore: it moves into the ignores, as proposed.

Command line--accept

--prune

Take away every ignore whose line has changed; with baseline, every mutant the tests catch now.

Command line--prune

--edition=EDITION

Which edition runs; unless set, the build file in dir, or the nearest above it: Cargo.toml for rust, pom.xml, build.gradle or settings.gradle for java.

One of rustjava

Command line--edition=EDITION