test(verify): report uneven coverage instead of failing on it #180
Loading…
Reference in a new issue
No description provided.
Delete branch "test/parity-as-note"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Motivation
The full 16-slot run came back 139 passed, 5 failed. Four of the five were
coverage uneven across minorsonresoluteandalpine324(both arches) — and they are not defects.Those slots are built under R 4.5, so their 4.5 union carries ABI-risky packages that only exist as 4.5 builds. A 4.4 or 4.6 client cannot safely load them, which is the whole reason per-minor slots exist. Their absence from the 4.4 and 4.6 indexes is correct behaviour, and failing the run on it blocks four slots that regress nobody.
This is the same mistake as the source-fallback share, which was demoted to a note for the same reason.
Change
Report uneven coverage; do not fail on it.
The two checks answer different questions and should not share an exit code:
MAX_REGRESSIONSgates enablement: would routing serve a client source where the generic slot holds a binary of that client's own minor? Must be zero.Verification
amd64/resolutenow passes with the shortfall printed as a note:shellcheckclean.Added two harness fixes to this branch, since they are corrections to the same script and splitting them costs a second review for no benefit.
fetch()did not pass-L. The router answers an index request with a redirect, so a--livebyte comparison was comparing against a 302 body rather than the index a client actually receives.fetch()did not bypass the edge cache. A purge is asynchronous, so a run started immediately after a reindex reads whatever the edge still holds. This produced a phantom failure worth recording:amd64/alpine323R 4.5 reported 161 regressions while itsPACKAGES.rdswas already correct — the.gzwas a stale copy. Re-measuring after the purge settled gave zero.I chased that phantom through two wrong hypotheses (a mixed-version pipeline, then a real bug in
union_index_records()) before fetching the.rdsand finding it disagreed with the.gz. A verification tool that races the thing it verifies is worse than no tool, so both fixes belong here.