Merge rust-bitcoin/rust-bitcoin#4411: Mutation testing: Add exclusions for match arm/guard mutants

3bcb5b0f8d Add exclusions for match arm/guard mutants (Jamil Lambert, PhD)

Pull request description:

  cargo-mutants 25.0.1 introduced a new mutation pattern that deletes an arm of a match statement or replaces a match guard with true and false. These are applied in sections that have been excluded from mutation testing and cause false positives.
  The match patterns are also now stricter causing previously excluded `impl` to be included.

  Exclude the new match arm and guard mutation patterns.

  Add `impl fmt::` versions for Debug and Display.

  Closes #4402

ACKs for top commit:
  apoelstra:
    ACK 3bcb5b0f8d7e1750675b2aba09f487fb4daab97b; successfully ran local tests
  tcharding:
    ACK 3bcb5b0f8d

Tree-SHA512: d7a45bdd5bc844c273956922b5483c70f24ca8ea20da275fd6b1ff13e71ec86fcc487932365beb3084cc3894bbe1317ddb3df975f90584b639187ba278b0721e
This commit is contained in:
merge-script 2025-04-30 14:01:00 +00:00
commit 8a0e645dfd
No known key found for this signature in database
GPG Key ID: C588D63CE41B97C1
1 changed files with 4 additions and 1 deletions

View File

@ -4,12 +4,15 @@ exclude_globs = [
"units/src/amount/verification.rs" # kani tests
]
exclude_re = [
"impl Debug",
"impl Arbitrary",
"impl Debug",
"impl fmt::Debug",
"impl Display",
"impl fmt::Display",
".*Error",
"deserialize", # Skip serde mutation tests
"Iterator", # Mutating operations in an iterator can result in an infinite loop
"match arm", "match guard", # New addition in cargo-mutants 25.0.1 deletes match arms and replaces match guards even in excluded functions
# ----------------------------------Crate-specific exclusions----------------------------------
# Units