test: one disc resolver, no machine-specific defaults, and all three corpora in the CI container #53
Reference in New Issue
Block a user
Delete Branch "fix/corpus-mounts-and-paths"
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?
Closes #16.
The issue's first two remedies landed months ago —
corpus_report.rssays which corpora resolved, and$SYLPHEED_DISCbecame a real control in #22. This finishes the three places they missed, each the same defect: a default that encodes one environment.1.
tests/— the last four resolvers, and the one real fallbackFour suites still defined their own
disc_root(). Three were byte-equivalent to the shared one;ui_keyframe_record_disc.rswas not — it fell back toso on that one machine
unset SYLPHEED_DISCdid nothing and the suite ran anyway. All four now usetests/common.Control, in the container: with the corpus absent the suite finishes in 0.00 s; with it present, 57.55 s. It skips now instead of finding a disc of its own.
2.
examples/— seventeen defaults pointing into the container/discis the mount point inside the CI container, wheredocker/ci/runalready setsSYLPHEED_DISC=/disc, so the fallback is redundant there and wrong everywhere else: on the host it turned "you forgot the corpus" into a file-not-found against a path that has never existed. They now name the variable to set, as the other ~100 examples already did.3.
docker/ci/run— the runner had the bug the issue is aboutIt mounted only the disc.
SYLPHEED_RES3DandSYLPHEED_ISOwere never passed in, so their suites self-skipped and still counted as passed — an in-container run looked like a full one while sitting out two corpora. Now all three are mounted read-only when they exist.Evidence
Full run in the capped container on the desktop, all three corpora present:
which matches the recorded all-corpora baseline, and the report — the thing to read, not the tally — now says:
Before this branch that third block read
ABSENTfor two of the three on any in-container run.cargo fmt --all -- --checkclean,cargo clippy --workspace --all-targets -- -D warningsclean, both in the container.What this does not do
crates/*/examples/still has ~127 files that read aSYLPHEED_*variable — that is what an example should do, and they now fail loudly and identically when it is unset. The remaining honest gap is the tally itself:#[ignore]is static, so a skipped suite still counts as passed. That is why the report exists, and whyCLAUDE.mdtells readers to read it.🤖 Generated with Claude Code