Skip to content
mutastic

Troubleshooting

mutastic says what went wrong, then exits with a status that says what kind of thing it was. The build plugins fail the build on any status but 0.

For run, the score didn’t reach the threshold. Each missed mutant in the output says what to test and how to prove it; start with the ones on lines you changed. If the threshold is wrong for this module, set it, for example --threshold=70.

For verify, the mutant is still missed: no test fails with it in. The card for that mutant shows the inputs your tests used and a test that would catch it.

2: a usage error, or a build mutastic couldn’t read

Section titled “2: a usage error, or a build mutastic couldn’t read”

The message says which. For an option, check mutastic --help: a value follows = or a space, except --since, which needs = (--since=main). For a build, mutastic must be run in, or pointed at, a Gradle or Maven build’s directory, and a module named as the build names it: :app for Gradle, a directory as -pl takes it for Maven. A mutant’s id belongs to the project its run was on, so run the command the run printed.

mutastic runs your tests once before it changes anything. They have to pass first, as a mutant is only caught when a test that passed fails. Run the build’s own tests and fix what fails. A test that passes when run again is reported as flaky, and doesn’t stop a run.

That’s a bug in mutastic. Please open an issue with the command, the message, and the worker log from the module’s work directory (build/mutastic/worker.log or target/mutastic/worker.log).