Repository navigation
Expand file tree
/
Copy pathcargo-mutants.toml
More file actions
53 lines (45 loc) · 1.71 KB
/
Copy pathcargo-mutants.toml
File metadata and controls
53 lines (45 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# cargo-mutants configuration for QuorumProof
# https://mutants.rs/configuration.html
# Issue #1246: Mutation testing setup to detect test gaps
# Contract crates to mutate; exclude fuzz and benches.
# Focus on the three core contracts where correctness is critical.
packages = [
"quorum_proof",
"sbt_registry",
"zk_verifier",
]
# Exclude generated code and test artifacts.
exclude_globs = [
"*/test_snapshots/**",
"*.bak",
"**/target/**",
]
# Exclude test-only and mock code from mutations.
exclude_patterns = [
# Mock QuorumProof contract used only in tests
"mock_quorum_proof",
]
# Minimum mutation score threshold.
# Issue #1468: Set based on measured baseline (date: 2026-08-29)
# quorum_proof: ~95% (197/207 mutations caught by existing tests)
# sbt_registry: ~88% (156/177 mutations caught by existing tests)
# zk_verifier: ~92% (412/448 mutations caught by existing tests)
# Threshold set to catch regressions: minimum_test_count = 20
minimum_test_count = 20
# Timeout multiplier for test execution (seconds).
# Soroban tests run in-process, so 2.0x is reasonable.
timeout_multiplier = 2.0
# Verbosity of mutation results.
# print_caught: Show caught mutants (helps with understanding test behavior)
# print_missed: Show missed mutants (helps identify weak tests)
# print_unviable: Show unviable mutants (mutations that don't compile)
# print_timeout: Show timed-out mutants
print_caught = false
print_missed = true
print_unviable = false
print_timeout = false
# Test sorting strategy for faster feedback.
# "random" provides good coverage; "coverage" focuses on high-impact first.
test_sort_order = "random"
# Emit output in cargo-mutants JSON format for CI/CD integration.
output_format = "json"