ci(mutants): exclude test-fixture/src/assertions.rs from cargo-mutants#3583
Conversation
Closes mozilla#3367. cargo-mutants reports many missed mutations on test-fixture/src/assertions.rs, but those are expected: the file only contains test assertion helpers (assert_long_packet_type, assert_version, etc.) whose panic paths are by definition never exercised by a passing test suite. Mutating them yields 'missed' verdicts that do not indicate a real coverage gap. Per cargo-mutants's documented per-file mechanism (https://mutants.rs/configuration.html), add .cargo/mutants.toml with exclude_globs covering this file. The Find mutants and Find PR mutants workflows pick the config file up automatically; no workflow change is needed.
|
Thank you! |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3583 +/- ##
==========================================
- Coverage 95.00% 94.85% -0.15%
==========================================
Files 109 114 +5
Lines 37586 37931 +345
Branches 37586 37931 +345
==========================================
+ Hits 35709 35981 +272
- Misses 1187 1250 +63
- Partials 690 700 +10
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Client/server transfer resultsPerformance differences relative to ffa0aa2. Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Table above only shows statistically significant changes. See all results below. All resultsTransfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Download data for |
Benchmark resultsNo significant performance differences relative to fca0621. All resultstransfer/1-conn/1-100mb-resp (aka. Download): Change within noise threshold. time: [200.09 ms 200.62 ms 201.27 ms]
thrpt: [496.84 MiB/s 498.47 MiB/s 499.79 MiB/s]
change:
time: [-0.9154% -0.5595% -0.1830] (p = 0.00 < 0.05)
thrpt: [+0.1833% +0.5627% +0.9239]
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
3 (3.00%) high mild
1 (1.00%) high severetransfer/1-conn/10_000-parallel-1b-resp (aka. RPS): No change in performance detected. time: [284.16 ms 286.23 ms 288.35 ms]
thrpt: [34.680 Kelem/s 34.937 Kelem/s 35.191 Kelem/s]
change:
time: [-1.2182% -0.1932% +0.8081] (p = 0.71 > 0.05)
thrpt: [-0.8016% +0.1935% +1.2332]
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mildtransfer/1-conn/1-1b-resp (aka. HPS): No change in performance detected. time: [38.728 ms 38.873 ms 39.038 ms]
thrpt: [25.616 B/s 25.725 B/s 25.821 B/s]
change:
time: [-0.6052% -0.0575% +0.4994] (p = 0.84 > 0.05)
thrpt: [-0.4969% +0.0575% +0.6088]
No change in performance detected.
Found 6 outliers among 100 measurements (6.00%)
6 (6.00%) high severetransfer/1-conn/1-100mb-req (aka. Upload): Change within noise threshold. time: [204.06 ms 204.40 ms 204.76 ms]
thrpt: [488.37 MiB/s 489.23 MiB/s 490.06 MiB/s]
change:
time: [+0.2134% +0.4468% +0.6890] (p = 0.00 < 0.05)
thrpt: [-0.6843% -0.4449% -0.2129]
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
2 (2.00%) low mild
3 (3.00%) high mildstreams/walltime/1-streams/each-1000-bytes: No change in performance detected. time: [585.43 µs 587.47 µs 589.81 µs]
change: [-0.2631% +0.2522% +0.7653] (p = 0.35 > 0.05)
No change in performance detected.
Found 8 outliers among 100 measurements (8.00%)
8 (8.00%) high severestreams/walltime/1000-streams/each-1-bytes: Change within noise threshold. time: [12.292 ms 12.311 ms 12.330 ms]
change: [+0.2806% +0.5008% +0.7243] (p = 0.00 < 0.05)
Change within noise threshold.streams/walltime/1000-streams/each-1000-bytes: Change within noise threshold. time: [44.437 ms 44.532 ms 44.671 ms]
change: [+0.3972% +0.6474% +0.9855] (p = 0.00 < 0.05)
Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severetransfer/walltime/pacing-false/varying-seeds: No change in performance detected. time: [23.224 ms 23.246 ms 23.268 ms]
change: [-0.1570% +0.0733% +0.2487] (p = 0.52 > 0.05)
No change in performance detected.
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high mildtransfer/walltime/pacing-true/varying-seeds: Change within noise threshold. time: [23.784 ms 23.809 ms 23.837 ms]
change: [+1.0842% +1.2535% +1.4220] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
3 (3.00%) high mild
1 (1.00%) high severetransfer/walltime/pacing-false/same-seed: Change within noise threshold. time: [23.472 ms 23.500 ms 23.536 ms]
change: [+0.1589% +0.3325% +0.5360] (p = 0.00 < 0.05)
Change within noise threshold.
Found 6 outliers among 100 measurements (6.00%)
2 (2.00%) low mild
1 (1.00%) high mild
3 (3.00%) high severetransfer/walltime/pacing-true/same-seed: Change within noise threshold. time: [24.041 ms 24.064 ms 24.092 ms]
change: [+1.8803% +2.0901% +2.2613] (p = 0.00 < 0.05)
Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) low mild
1 (1.00%) high severeDownload data for |
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
|
Closes #3367.
cargo-mutants reports many "missed" mutations against
test-fixture/src/assertions.rs. Those are expected: the file only contains test assertion helpers (assert_long_packet_type,assert_version, etc.) whose panic paths are by definition never exercised by a passing test suite. Every mutation looks like a coverage gap without indicating one.Per cargo-mutants's documented per-file mechanism, this PR adds
.cargo/mutants.tomlwith anexclude_globsentry covering that file. TheFind mutantsandFind PR mutantsworkflows pick the config file up automatically; no workflow change is needed.If a similar pattern emerges in another assertion-only helper module later, the same
exclude_globslist can grow without revisiting the workflows.