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