diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-13 18:58:18 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-13 18:58:18 +0900 |
| commit | 67038d5af400254a1a47490c155eae97da7d7e95 (patch) | |
| tree | c097bc6406a6b6f7042f959847a60829961abf7e /internal/pkg/pkg_test.go | |
| parent | 53d8d12e7ffeab5f902a24eaeb1b0b138893ab0e (diff) | |
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 <cat@gensokyo.uk>
Diffstat (limited to 'internal/pkg/pkg_test.go')
| -rw-r--r-- | internal/pkg/pkg_test.go | 16 |
1 files changed, 16 insertions, 0 deletions
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) |
