Commit 4a5e462
committed
fix(coverage): invert ALWAYS_RUN_ALL to unattributable-catch-all and validate map shape
Fix 1: Replace the allowlist of run-all files with an inverted design: define a
small, conservative allowlist of provably test-irrelevant files (docs/*.md, LICENSE,
etc.) and treat any changed file that is not .fpp, not cases.py, and not in that
allowlist as unattributable -> run all. This closes the gap where mfc.sh,
.github/**, tests/**, toolchain/pyproject.toml, and similar files would silently
fall through to rung-7 (skip-all) under --select-enforce.
Fix 2: In load_map, validate that every entry is str -> list[str] after popping
_meta. A malformed entry returns (None, None) so the caller runs the full suite
rather than silently misrouting tests.
Tests: expand test_docs_only_still_skips_all to cover docs/, LICENSE, .claude/;
add test_unattributable_nonsource_change_runs_all for mfc.sh / pyproject.toml /
tests/** / .github/workflows; add test_load_map_rejects_malformed_entry.1 parent a1152d1 commit 4a5e462
2 files changed
Lines changed: 48 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
58 | 71 | | |
59 | 72 | | |
60 | 73 | | |
| |||
89 | 102 | | |
90 | 103 | | |
91 | 104 | | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
92 | 108 | | |
93 | 109 | | |
94 | 110 | | |
| |||
120 | 136 | | |
121 | 137 | | |
122 | 138 | | |
123 | | - | |
124 | | - | |
125 | | - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
126 | 148 | | |
127 | | - | |
| 149 | + | |
128 | 150 | | |
129 | 151 | | |
130 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
299 | 299 | | |
300 | 300 | | |
301 | 301 | | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
302 | 309 | | |
303 | 310 | | |
304 | | - | |
305 | | - | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
306 | 326 | | |
307 | 327 | | |
308 | 328 | | |
| |||
0 commit comments