107 files changed,
15 insertions(+),
44 deletions(-)
Author:
Oleksandr Smirnov
olexsmir@gmail.com
Committed at:
2026-06-10 12:26:05 +0300
Authored at:
2026-06-10 12:20:43 +0300
Change ID:
znopxttqsynqwszymmqurvlznlqqvmvq
Parent:
2d8dc1f
jump to
M
internal/testutil/golden/golden.go
··· 10 10 11 11 var update = flag.Bool("golden.update", false, "update golden files") 12 12 13 -// Load reads testdata/<name>.input. Fails the test if the file is missing. 14 -func Load(t testing.TB, name string) []byte { 13 +// Load reads testdata/<path>.input. Fails the test if file is not found. 14 +func Load(t testing.TB, path string) []byte { 15 15 t.Helper() 16 - path := filepath.Join("testdata", name+".input") 17 - data, err := os.ReadFile(path) 16 + data, err := os.ReadFile(filepath.Join("testdata", path+".input")) 18 17 if err != nil { 19 - t.Fatalf("reading input file %s: %v", path, err) 18 + t.Fatalf("loading %s: %v", path, err) 20 19 } 21 20 return data 22 21 } 23 22 24 -func AssertInput(t testing.TB, got string, name string) { 23 +// Assert compares got against testdata/<name>.golden. 24 +func Assert(t testing.TB, name, got string) { 25 25 t.Helper() 26 26 27 - path := filepath.Join("testdata", name+".golden") 27 + normalized := strings.NewReplacer("/", "__", " ", "_").Replace(name) 28 + path := filepath.Join("testdata", normalized+".golden") 29 + 28 30 if *update { 29 31 if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil { 30 32 t.Fatalf("creating testdata dir: %v", err) ··· 47 49 t.Fatalf("golden mismatch for %s\nwant:\n%s\ngot:\n%s", path, string(golden), got) 48 50 } 49 51 } 50 - 51 -func Assert(t testing.TB, got string) { 52 - t.Helper() 53 - 54 - name := strings.NewReplacer("/", "__", " ", "_").Replace(t.Name()) 55 - name = strings.TrimPrefix(name, "Test") 56 - path := filepath.Join("testdata", "golden", name+".golden") 57 - 58 - if *update { 59 - if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil { 60 - t.Fatalf("creating golden dir: %v", err) 61 - } 62 - t.Logf("updated golden file: %s", path) 63 - if err := os.WriteFile(path, []byte(got), 0o644); err != nil { 64 - t.Fatalf("writing golden file: %v", err) 65 - } 66 - return 67 - } 68 - 69 - golden, err := os.ReadFile(path) 70 - if os.IsNotExist(err) { 71 - t.Fatalf("no golden file %s, run with -golden.update:\n%s", path, got) 72 - } 73 - if err != nil { 74 - t.Fatalf("reading golden file: %v", err) 75 - } 76 - 77 - if string(golden) != got { 78 - t.Fatalf("golden mismatch for %s\nwant:\n%s\ngot:\n%s", path, string(golden), got) 79 - } 80 -}
M
journal/printer/printer_test.go
··· 24 24 t.Fatal(err) 25 25 } 26 26 27 - golden.AssertInput(t, b.String(), tname) 27 + golden.Assert(t, tname, b.String()) 28 28 }) 29 29 } 30 30 } ··· 71 71 t.Fatal(err) 72 72 } 73 73 74 - golden.AssertInput(t, b.String(), tname) 74 + golden.Assert(t, tname, b.String()) 75 75 }) 76 76 } 77 77 }