// Package golden provides function and helpers to use golden file for // testing purpose. package golden import ( "flag" "io/ioutil" "path/filepath" "testing" ) var update = flag.Bool("test.update", false, "update golden file") // Get returns the golden file content. If the `test.update` is specified, it updates the // file with the current output and returns it. func Get(t *testing.T, actual []byte, filename string) []byte { golden := filepath.Join("testdata", filename) if *update { if err := ioutil.WriteFile(golden, actual, 0644); err != nil { t.Fatal(err) } } expected, err := ioutil.ReadFile(golden) if err != nil { t.Fatal(err) } return expected }