muttest-rs
github.com
Spec sheet
- Purpose
- muttest-rs is a Rust mutation testing tool for evaluating whether a test suite catches simulated bugs.Read 9 Oct 2026 · github.com
- Intended users
- The documented setup is for Rust crate developers who want to assess how well their tests detect code changes.Read 9 Oct 2026 · github.com
- License
- The repository includes an MIT license that permits use, copying, modification, distribution, sublicensing, and sale subject to its terms.Read 9 Oct 2026 · github.com
- Annotation limit
- Only top-level items in modules can be annotated with `#[mutate]`.Read 4 Oct 2026 · github.com
- Annotation limits
- For technical reasons, only top-level items in modules can be annotated with `#[mutate]`.Read 9 Oct 2026 · github.com
- Debugging
- Setting `RUST_LOG=debug` displays the commands executed during mutation analysis.Read 4 Oct 2026 · github.com
- How it works
- Its `#[mutate]` macro transforms source code patterns and adds hooks so mutations can be enabled at runtime after a single compilation.Read 9 Oct 2026 · github.com
- Installation
- The README instructs users to install the `cargo-muttest` Cargo plugin and add `muttest` to their crate.Read 9 Oct 2026 · github.com
- Integration tests
- The README says integration test analysis uses `muttest` as an optional dependency and runs `cargo muttest` without `--lib`.Read 9 Oct 2026 · github.com
- Mutatable code
- The tool can mutate runtime-executed expressions, but not const or static definitions, const functions, macros and their arguments, patterns, or types.Read 4 Oct 2026 · github.com
- Mutation limits
- It cannot mutate const or static definitions, `const fn`s, macros or their arguments, patterns, or types.Read 9 Oct 2026 · github.com
- Performance
- The README documents an optional `muttest` profile with optimization level 3 and LTO to optimize the test suite during mutation analysis.Read 9 Oct 2026 · github.com
- Performance option
- The README describes an optional Cargo `muttest` profile with optimization level 3 and link-time optimization for mutation analysis dominated by mutant evaluation.Read 4 Oct 2026 · github.com
- Release-code guidance
- The README instructs users to ensure muttest does not affect release code.Read 4 Oct 2026 · github.com
- Reports
- The tool writes a JSON report to `target/muttest/report.json`.Read 9 Oct 2026 · github.com
- Runtime mutation
- The `#[mutate]` macro transforms selected source patterns and inserts hooks to enable mutations at runtime, allowing the code to be compiled once.Read 4 Oct 2026 · github.com
- Test setup
- For library tests, the README shows annotating code and test modules, then running `cargo muttest --lib`.Read 9 Oct 2026 · github.com
- Unit test workflow
- For library mutation analysis, the README directs users to annotate code and test modules, run `cargo muttest --lib`, and inspect `target/muttest/report.json`.Read 4 Oct 2026 · github.com
Where Specifiction places it
- Mutation Testing Tools#25 of 256.5