Files
docker-cli/components/engine/pkg/testutil/golden/golden.go
T
Vincent Demeester f6ad06ceb6 Add some unit tests to the node and swarm cli code
Start work on adding unit tests to our cli code in order to have to
write less costly integration test.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: f151c297eb268e22dc1eb36ded0e356885f40739
Component: engine
2017-01-09 18:30:15 +01:00

29 lines
683 B
Go

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