X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fconfig%2Fhosts_test.go;h=4c601c580b4c3148f07e820cb9fb9e07d83e5526;hb=9506effbe395b9be30ba2b34702c51478e8043e4;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..4c601c5 100644 --- a/cmd/safcm/config/hosts_test.go +++ b/cmd/safcm/config/hosts_test.go @@ -1,4 +1,4 @@ -// Copyright (C) 2021 Simon Ruderich +// Copyright (C) 2021-2023 Simon Ruderich // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -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) { @@ -30,7 +29,7 @@ func TestLoadHosts(t *testing.T) { if err != nil { t.Fatal(err) } - defer os.Chdir(cwd) + defer os.Chdir(cwd) //nolint:errcheck sliceToHosts := func(hosts []*Host) *Hosts { res := &Hosts{ @@ -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) + }) } }