Test evidence: Assemble the versioned site: exact versions and a /1/ rewrite nothing can shadow open
On branch fiesta-1
Test evidence for Task 14 of the Fiesta packaging, copied from the implementer's report so it sits on the branch.
Commits
- 9351390 Assemble the versioned site: exact versions and a /1/ rewrite nothing can shadow
- ad593b2 A placeholder page in Paul's words (after copy review)
- Fix round 1: 197e5b3 Stamp a release as fiesta's own, publish nothing hidden, and bound the tag check
RED: against the stubs (Build and Release returning an empty map; no release or site subcommand)
--- FAIL: TestOneServesTheNewestOneX
--- FAIL: TestNewestIsNumericNotLexical
--- FAIL: TestTwoDoesNotMoveOne
--- FAIL: TestAChangedReleaseIsRefused
--- FAIL: TestAPrereleaseDirectoryIsRefused
--- FAIL: TestPagesCannotShadowAMajor
--- FAIL: TestPagesCannotShadowAVersion
--- FAIL: TestWhatBuildWritesPassesTheCheck
FAIL amadan.net/rastrillo/fiesta/internal/site
--- FAIL: TestReleaseRefusesToOverwrite release_test.go:85: ... unknown command "release"
--- FAIL: TestACandidateMayBeRebuiltUntilItIsTagged release_test.go:170: ... unknown command "release"
--- FAIL: TestSiteWritesWhatBuildReturns release_test.go:284: unknown command "release"
FAIL amadan.net/rastrillo/fiesta/cmd/fiestaGREEN
ok internal/site 0.008s, ok cmd/fiesta 1.503s (the whole package, claim and gallery tests included).
Named mutations, each in a scratch copy
| Mutation | Reddens | |---|---| | A: one space between the rule's fields (/%d/* /%s/:splat 200) | TestOneServesTheNewestOneX, TestNewestIsNumericNotLexical, TestTwoDoesNotMoveOne | | B: tagExists ignores git ls-remote | TestACandidateMayBeRebuiltUntilItIsTagged at its origin-only step: "replaced .../releases/1.0.0, which origin's tag v1.0.0 names" | | C: the all-digit first-segment check disabled | TestPagesCannotShadowAMajor |
make ci on 9351390: exit 0 (size 22.5/21.8/21.9 KiB; harness 5.7s, check 171/172/169s, gallery 51/12s). Phase B (ad593b2): go test ./internal/site ./cmd/fiesta -count=1 both ok; make ci exit 0, 20 ok lines, no FAIL.
Fix round 1 (197e5b3)
-candidate ownership by the stamp route, red against ad593b2 (scratch archive plus the new test file):
$ go test ./cmd/fiesta -run TestACandidateIsNotAnyChecksummedDirectory -count=1
--- FAIL: TestACandidateIsNotAnyChecksummedDirectory (0.04s)
release_foreign_test.go:50: fiesta release -candidate emptied .../repo/releases/1.0.0, a checksummed folder that is not fiesta'sGreen on 197e5b3.
Hidden files, red against ad593b2 (new site_test.go copied in, only const StampName appended to the old site.go so it compiled):
--- FAIL: TestTheStampIsSkippedAndNeverPublished (0.00s)
--- FAIL: TestHiddenPagesAreRefused (0.00s)
site_test.go:336: Build published the hidden page .DS_Store
site_test.go:336: Build published the hidden page .fiesta
site_test.go:336: Build published the hidden page docs/.index.html.swp
site_test.go:336: Build published the hidden page .well-known/security.txt
site_test.go:348: Build did not refuse the hidden directory .cache by name: <nil>
--- FAIL: TestALinkedSumsFileIsRefused (0.00s)The public/ change has a scratch mutation instead (claiming -out/public rather than -out), which reddens TestSiteWritesWhatBuildReturns four ways (no stamp in -out; public/.fiesta hidden in the shipped tree; 60 files for a 59-file build; -out holds 1 entry).
Unreachable origin: TestAnUnreachableOriginRefusesACandidate passes on ad593b2 too, so its control is mutation D in a scratch copy, an ls-remote failure returned as "not tagged": "replaced .../releases/1.0.0 without being able to ask origin about its tag".
$ go test ./internal/site ./cmd/fiesta -count=1
ok amadan.net/rastrillo/fiesta/internal/site 0.011s
ok amadan.net/rastrillo/fiesta/cmd/fiesta 1.783s
--- PASS: TestTheStampIsSkippedAndNeverPublished / TestHiddenPagesAreRefused / TestALinkedSumsFileIsRefused
--- PASS: TestACandidateIsNotAnyChecksummedDirectory / TestACandidateMayBeRebuiltUntilItIsTagged / TestAnUnreachableOriginRefusesACandidate
--- PASS: TestSiteWritesWhatBuildReturns
$ make ci exit=0, 20 ok lines, no FAIL