40 lines
1.9 KiB
TOML
40 lines
1.9 KiB
TOML
additional_cargo_args = ["--all-features"]
|
|
examine_globs = ["units/src/**/*.rs", "primitives/src/**/*.rs"]
|
|
exclude_globs = [
|
|
"units/src/amount/verification.rs" # kani tests
|
|
]
|
|
exclude_re = [
|
|
"impl Arbitrary",
|
|
"impl Debug",
|
|
"impl fmt::Debug",
|
|
".*Error",
|
|
"deserialize", # Skip serde mutation tests
|
|
"Iterator", # Mutating operations in an iterator can result in an infinite loop
|
|
|
|
# ----------------------------------Crate-specific exclusions----------------------------------
|
|
# Units
|
|
# src/amount/mod.rs
|
|
"parse_signed_to_satoshi", # Can't kill all mutants since there is no denomination smaller than Satoshi
|
|
"fmt_satoshi_in", # Related to formatting/display
|
|
"dec_width", # Replacing num /= 10 with num %=10 in a loop causes a timeout due to infinite loop
|
|
# src/locktime/relative.rs
|
|
"Time::to_consensus_u32", # Mutant from replacing | with ^, this returns the same value since the XOR is taken against the u16 with an all-zero bitmask
|
|
"FeeRate::fee_vb", # Deprecated
|
|
"FeeRate::fee_wu", # Deprecated
|
|
"SignedAmount::checked_abs", # Deprecated
|
|
"NumberOfBlocks::value", # Deprecated
|
|
"NumberOf512Seconds::to_consensus_u32", # Deprecated
|
|
"MedianTimePast::to_consensus_u32", # Deprecated
|
|
"Height::to_consensus_u32", # Deprecated
|
|
|
|
# primitives
|
|
"Sequence::from_512_second_intervals", # Mutant from replacing | with ^, this returns the same value since the XOR is taken against the u16 with an all-zero bitmask
|
|
"Opcode::classify", # Not possible to kill all mutants without individually checking every opcode classification
|
|
"Block<Checked>::cached_witness_root", # Skip getters
|
|
"Block<Checked>::transactions", # Skip getters
|
|
"Script::to_bytes", # Deprecated
|
|
"decode_cursor", # Mutating operations in decode_cursor can result in an infinite loop
|
|
"fmt_debug", # Mutants from formatting/display changes
|
|
"fmt_debug_pretty", # Mutants from formatting/display changes
|
|
]
|