# cargo-mutants configuration for heuropt. # # Run with: # cargo install cargo-mutants # cargo mutants # full sweep (slow) # cargo mutants --in-diff HEAD~1 # only mutate recently-changed lines # # A *surviving* mutation = the test suite passed despite a code change, # which usually means a missing test or a missing invariant. # # This isn't gated CI; it's an advisory tool. The property tests in # tests/properties.rs are the natural place to land new invariants # discovered via mutation runs. # Files to skip mutating. We skip: # - examples (illustrative, not core algorithm correctness) # - benches (microbench harness, not behavior) # - the docs/* spec markdown # - tests_support (test helpers; mutating them changes test inputs, # not behavior under test) exclude_globs = [ "examples/**/*.rs", "benches/**/*.rs", "src/tests_support/**/*.rs", ] # `cargo-mutants` defaults to `cargo test` for the suite. Keep that. # `--no-shuffle` makes failure attribution deterministic. additional_cargo_test_args = ["--", "--test-threads=1"] # Time-out per mutated build+test cycle. Big enough for a slow test # (proptest can take ~10s) but short enough to detect infinite loops. timeout_multiplier = 5.0