aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/pkg/pkg_test.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/internal/pkg/pkg_test.go b/internal/pkg/pkg_test.go
index 2f5cc424..8826e5a1 100644
--- a/internal/pkg/pkg_test.go
+++ b/internal/pkg/pkg_test.go
@@ -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,
+ })
+ }
})
}
}