Skip to content
mutastic

Rust edition

Environment and exit codes

Settings that belong to a machine or a person rather than a project can come from the environment: a CI job that always wants one format, or a terminal that can't show colour. An option given on the command line always wins.

Environment

VariableWhat it doesOption
MUTASTIC_FORMATThe format when --format isn't given. For a machine or a CI job that always wants the same format, concise say.--format
MUTASTIC_AGENT=1The agent format, for coding agents. Coding agents set it, so mutastic answers in the format they read best. MUTASTIC_FORMAT still wins.--format
MUTASTIC_VOCABULARYPlain or classic, when --vocabulary isn't given. classic says killed and survived instead of caught and missed. The JSON report and the event stream always use the standard names.--vocabulary
NO_COLORNo colour. Set to anything, it turns colour off, as it does for many tools.--color
FORCE_COLORColour even off a terminal. Set to anything, it turns colour on where mutastic can't tell a person is reading, such as a CI log that shows colour. It wins over NO_COLOR.--color
TERM=dumbNo colour, unless FORCE_COLOR is set.—
CARGOThe cargo mutastic runs. Cargo sets it for cargo mutastic; cargo on the PATH otherwise.—
RUSTCThe rustc Cargo builds with, as for any Cargo build. The result names its version.—
MUTASTIC_VERSIONIn a Maven or Gradle project, the Java edition's release to use. Such as 0.5.0, fetched if it isn't kept. Unset, from 1.0.0 it's the newest release of this mutastic's own major and minor version.—
MUTASTIC_HOMEWhere the Java edition's releases are kept. ~/.mutastic unless set.—
MUTASTIC_JAVA_ENGINEA Java edition's bin/mutastic to run instead, such as one built from its source. Nothing is fetched.—
MUTASTIC_JAVA_RELEASESWhere the Java edition's releases are downloaded from, for a mirror. GitHub's releases of mutastic/mutastic unless set.—
JAVA_HOMEThe JDK the Java edition runs on. java on the PATH unless set.—

Exit codes

Every command exits with one of these.

StatusMeansWhat to do
0The score reaches the threshold, or with --fail-on-new no miss is new; for verify, each mutant named is caught, skipped, or crashed where a crash proves nothing; for gate check, the task is done; for next, nothing missed is left but what's proposed for ignoring.—
1The score is below the threshold, or with --fail-on-new a miss is new; for verify, a mutant named is still missed or not covered; for gate check, the task isn't done; for ignore --accept, the mutant isn't proposed; for next, something is queued; for baseline, there's one already, or none to prune.—
2mutastic couldn't run: an unknown option, a word the command doesn't take, not a Cargo package, a workspace's root, a test that fails with no mutant in, an id that isn't a mutant of the package, shares --from-shards can't put together as one run, --fail-on-new with no baseline, or no task open for gate check.—