Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .cargo/mutants.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,18 @@ examine_globs = [
exclude_globs = ["src/testutil.rs"]

# The unit tests finish in well under a second, so anything still running after
# a minute is a mutant that made the code loop rather than one under test. There
# twenty is a mutant that made the code loop rather than one under test. There
# are twenty of those in the parser, which is what a mutated `pos += 1` in a
# byte scanner does, and they are reported as timeouts rather than survivors.
#
# Sixty seconds here was the first guess and it was too generous to be free.
# Twenty timeouts at a minute each is twenty minutes of a run that should take
# twelve, and they do not spread evenly across the shards: the run on 2026-08-22
# had five land consecutively in shard 2, which took the job out. Twenty seconds
# is still more than thirty times what the suite needs, and it costs the whole
# set of them under seven minutes.
timeout_multiplier = 5.0
minimum_test_timeout = 60
minimum_test_timeout = 20

# Ten mutants survive in this scope as of the run that wrote this file, out of
# roughly 250. They fall into three groups, named rather than chased:
Expand Down
4 changes: 4 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ tests:
- "fuzz/**"
- "scripts/crossvalidate.R"
- "src/testutil.rs"
# cargo-mutants' scope and timeouts. Left out at first, so the pull
# request that tuned them arrived with no label at all, which is the
# failure this file's own comment warns about one section down.
- ".cargo/**"

packaging:
- changed-files:
Expand Down
Loading