Skip to content
mutastic

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

Terminal window
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