internal/pkg: verify checksum after uneventful scrub
All checks were successful
Test / Create distribution (push) Successful in 45s
Test / Sandbox (push) Successful in 2m37s
Test / Hakurei (push) Successful in 3m40s
Test / ShareFS (push) Successful in 3m42s
Test / Hpkg (push) Successful in 4m18s
Test / Sandbox (race detector) (push) Successful in 4m54s
Test / Hakurei (race detector) (push) Successful in 5m56s
Test / Flake checks (push) Successful in 1m46s

This checks that scrub did not condemn any entry without reporting it.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-05 22:54:16 +09:00
parent 0ab6c13c77
commit 3d4d32932d

View File

@@ -202,6 +202,15 @@ func checkWithCache(t *testing.T, testCases []cacheTestCase) {
scrubFunc = c.Scrub
}
var restoreTemp bool
if _, err := os.Lstat(base.Append("temp").String()); err != nil {
if !errors.Is(err, os.ErrNotExist) {
t.Fatal(err)
}
} else {
restoreTemp = true
}
if checksum, err := pkg.HashDir(base); err != nil {
t.Fatalf("HashDir: error = %v", err)
} else if checksum != tc.want {
@@ -214,6 +223,25 @@ func checkWithCache(t *testing.T, testCases []cacheTestCase) {
if err := scrubFunc(); err != nil {
t.Fatal("cache contains inconsistencies\n\n" + err.Error())
}
if restoreTemp {
if err := os.Mkdir(
base.Append("temp").String(),
0700,
); err != nil {
t.Fatal(err)
}
}
// validate again to make sure scrub did not condemn anything
if checksum, err := pkg.HashDir(base); err != nil {
t.Fatalf("HashDir: error = %v", err)
} else if checksum != tc.want {
t.Fatalf("(scrubbed) HashDir: %v", &pkg.ChecksumMismatchError{
Got: checksum,
Want: tc.want,
})
}
})
}
}