X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fconfig%2Fhosts_test.go;h=5d3c3342955ec494bacec29c6a622a01e0332044;hb=4473e968425319e6beae558643bb047a6b01c17a;hp=49f4d5692da40bc96afeedc760fb53b84dfc0bad;hpb=8fcd43d8f2b15b62f819a1ea41dcd91ac3194f0b;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/config/hosts_test.go b/cmd/safcm/config/hosts_test.go index 49f4d56..5d3c334 100644 --- a/cmd/safcm/config/hosts_test.go +++ b/cmd/safcm/config/hosts_test.go @@ -19,10 +19,9 @@ import ( "fmt" "os" "path/filepath" - "reflect" "testing" - "github.com/google/go-cmp/cmp" + "ruderich.org/simon/safcm/testutil" ) func TestLoadHosts(t *testing.T) { @@ -65,6 +64,11 @@ func TestLoadHosts(t *testing.T) { nil, }, + { + "../testdata/host-invalid-duplicate", + nil, + fmt.Errorf("hosts.yaml: host \"host1.example.org\": host name already exists"), + }, { "../testdata/host-invalid-all", nil, @@ -83,21 +87,15 @@ func TestLoadHosts(t *testing.T) { } for _, tc := range tests { - err := os.Chdir(filepath.Join(cwd, tc.path)) - if err != nil { - t.Fatal(err) - } + t.Run(tc.path, func(t *testing.T) { + err := os.Chdir(filepath.Join(cwd, tc.path)) + if err != nil { + t.Fatal(err) + } - res, err := LoadHosts() - - if !reflect.DeepEqual(tc.exp, res) { - t.Errorf("%s: res: %s", tc.path, - cmp.Diff(tc.exp, res)) - } - // Ugly but the simplest way to compare errors (including nil) - if fmt.Sprintf("%s", err) != fmt.Sprintf("%s", tc.expErr) { - t.Errorf("%s: err = %#v, want %#v", - tc.path, err, tc.expErr) - } + res, err := LoadHosts() + testutil.AssertEqual(t, "res", res, tc.exp) + testutil.AssertErrorEqual(t, "err", err, tc.expErr) + }) } }