func approve()

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)
	}
}