From 67038d5af400254a1a47490c155eae97da7d7e95 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 13 May 2026 18:58:18 +0900 Subject: [PATCH] internal/pkg: log fault in tests when available This would otherwise only be available in verbose output, interleaved with everything else. Signed-off-by: Ophestra --- internal/pkg/pkg_test.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/internal/pkg/pkg_test.go b/internal/pkg/pkg_test.go index 9588fe77..48763b2a 100644 --- a/internal/pkg/pkg_test.go +++ b/internal/pkg/pkg_test.go @@ -21,6 +21,7 @@ import ( "syscall" "testing" "testing/fstest" + "time" "unique" "unsafe" @@ -561,6 +562,21 @@ func cureMany(t *testing.T, c *pkg.Cache, steps []cureStep) { for _, step := range steps { t.Log("cure step:", step.name) if pathname, checksum, err := c.Cure(step.a); !reflect.DeepEqual(err, step.err) { + faults, _err := c.ReadFaults(step.a) + if _err != nil { + t.Errorf("ReadFaults: error = %v", _err) + } + + var p []byte + for _, fault := range faults { + p, _err = os.ReadFile(fault.String()) + if _err != nil { + t.Error(_err) + continue + } + t.Log(string(p)) + t.Logf("faulting cure terminated %s ago", time.Since(faults[0].Time())) + } t.Fatalf("Cure: error = %v, want %v", err, step.err) } else if step.pathname != ignorePathname && !pathname.Is(step.pathname) { t.Fatalf("Cure: pathname = %q, want %q", pathname, step.pathname)