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
| Variable | What it does | Option |
|---|---|---|
MUTASTIC_FORMAT | The format when --format isn't given. For a machine or a CI job that always wants the same format, concise say. | --format |
MUTASTIC_AGENT=1 | The agent format, for coding agents. Coding agents set it, so mutastic answers in the format they read best. MUTASTIC_FORMAT still wins. | --format |
MUTASTIC_VOCABULARY | Plain 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_COLOR | No colour. Set to anything, it turns colour off, as it does for many tools. | --color |
FORCE_COLOR | Colour 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=dumb | No colour, unless FORCE_COLOR is set. | — |
CARGO | The cargo mutastic runs. Cargo sets it for cargo mutastic; cargo on the PATH otherwise. | — |
RUSTC | The rustc Cargo builds with, as for any Cargo build. The result names its version. | — |
MUTASTIC_VERSION | In 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_HOME | Where the Java edition's releases are kept. ~/.mutastic unless set. | — |
MUTASTIC_JAVA_ENGINE | A Java edition's bin/mutastic to run instead, such as one built from its source. Nothing is fetched. | — |
MUTASTIC_JAVA_RELEASES | Where the Java edition's releases are downloaded from, for a mirror. GitHub's releases of mutastic/mutastic unless set. | — |
JAVA_HOME | The JDK the Java edition runs on. java on the PATH unless set. | — |
Exit codes
Every command exits with one of these.
| Status | Means | What to do |
|---|---|---|
0 | The 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. | — |
1 | The 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. | — |
2 | mutastic 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. | — |