Java edition
mutastic baseline
Record every mutant missed now, so later misses are told from them. Runs the mutants and writes each one missed or not covered, by id, to .mutastic/baseline.yaml, to commit. From then on a miss that isn't in it is new: gate holds only new misses, and next offers them first. It's never rewritten to take in new misses: --prune runs the mutants and drops the baseline's that are caught now.
Usage
mutastic baseline [DIR] [:MODULE]A coding agent's hooks run it as the command: the build plugins don't.
Exit status
0 when the baseline is written or pruned; 1 when there's one already and --prune isn't given. Any command exits 2 for a usage error or a build it couldn't read, and 4 when mutastic itself went wrong; one that runs tests, 3 when they fail without any mutant: see exit codes.
Options
--tests-from=MODULE
Also run this module's tests over what this one's miss: :app, or dependents for every module that depends on it.
| Gradle | -Pmutastic.testsFrom=MODULE,… or testsFrom = … in mutastic { } |
|---|---|
| Maven | -Dmutastic.testsFrom=MODULE,… or <testsFrom>…</testsFrom> in the plugin's configuration |
| Command line | --tests-from=MODULE |
--workers=N
How many workers run side by side; half the cores, from 1 to 4, unless set.
| Gradle | -Pmutastic.workers=N or workers = … in mutastic { } |
|---|---|
| Maven | -Dmutastic.workers=N or <workers>…</workers> in the plugin's configuration |
| Command line | --workers=N |
--confirm-catches
Run each catching test again on its own, to confirm the catch.
| Gradle | -Pmutastic.confirmCatches or confirmCatches = true in mutastic { } |
|---|---|
| Maven | -Dmutastic.confirmCatches or <confirmCatches>true</confirmCatches> in the plugin's configuration |
| Command line | --confirm-catches |
--exclude-tests=CLASS
A test class to leave out of the run, by its name or full name: one that can't run reliably here, with a race or a fixed port; the summary names it.
| Gradle | -Pmutastic.excludeTests=CLASS,… |
|---|---|
| Maven | -Dmutastic.excludeTests=CLASS,… |
| Command line | --exclude-tests=CLASS |
--suite=SUITE
Which of the build's test suites runs: a Gradle Test task by name, or Maven's integration-test (Failsafe); test unless set.
| Gradle | -Pmutastic.suite=SUITE or suite = … in mutastic { } |
|---|---|
| Maven | -Dmutastic.suite=SUITE or <suite>…</suite> in the plugin's configuration |
| Command line | --suite=SUITE |
--progress=STYLE
Progress on stderr: a bar on a terminal, counter lines in logs, none for agents.
One of autobarcounternone
| Gradle | -Pmutastic.progress=STYLE |
|---|---|
| Maven | -Dmutastic.progress=STYLE |
| Command line | --progress=STYLE |
--prune
Take away every ignore whose code has changed; with baseline, every mutant the tests catch now.
| Gradle | -Pmutastic.prune |
|---|---|
| Maven | -Dmutastic.prune |
| Command line | --prune |