in pkg/approvaltest/approvals.go [187:205]
func approve(t testing.TB, name string, received interface{}) {
t.Helper()
var approved interface{}
if err := readApproved(name, &approved); err != nil {
t.Fatalf("failed to read approved file: %v", err)
}
if diff := cmp.Diff(approved, received); diff != "" {
if err := writeReceived(name, received); err != nil {
t.Fatalf("failed to write received file: %v", err)
}
t.Fatalf("%s\n%s\n\n", diff,
"Test failed. Run `make check-approvals` to verify the diff.",
)
} else {
// Remove an old *.received.json file if it exists, ignore errors
_ = removeReceived(name)
}
}