ci(mutmut): enable mutate_only_covered_lines to fit in CI budget (#27910)
The mutation-test workflow timed out at the 350-minute job cap when running whole-folder mutation against litellm/proxy/management_endpoints/ (~30 files, ~1.5 MB of source). Every mutant was running the full test suite, and mutants were generated for lines no test covers — which would survive regardless, just wasting compute. mutmut 3.x's mutate_only_covered_lines setting runs the suite once up front to compute coverage, then skips mutating uncovered lines. This cuts the mutant count dramatically and is the right semantic for the score (no test → no kill possible → uncountable). Per-mutant test filtering by function name is already automatic in mutmut 3.x; no external coverage step is needed.
This commit is contained in:
parent
a6494e6fe3
commit
867470fd68
@ -290,6 +290,12 @@ tests_dir = [
|
||||
also_copy = [
|
||||
"litellm/",
|
||||
]
|
||||
# Run the test suite once before mutation to gather line coverage, then skip
|
||||
# mutating lines no test exercises. Those mutants would survive regardless
|
||||
# (no test hits the line to kill them), so generating them wastes hours of CI.
|
||||
# The score now reads as "mutation score over covered code" — pair with a
|
||||
# line-coverage number when reporting.
|
||||
mutate_only_covered_lines = true
|
||||
# Disable rerun/parallel plugins for mutation runs:
|
||||
# - pytest-retry triggers an `INTERNALERROR: no option named 'filtered_exceptions'`
|
||||
# when invoked via mutmut's in-process `pytest.main()` call.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user