import (
"fmt"
"os"
- "reflect"
+ "path/filepath"
"testing"
- "github.com/google/go-cmp/cmp"
+ "ruderich.org/simon/safcm/testutil"
)
func TestLoadGroups(t *testing.T) {
for _, tc := range tests {
t.Run(tc.path, func(t *testing.T) {
- err := os.Chdir(tc.path)
- if err != nil {
- t.Fatal(err)
- }
+ err := os.Chdir(filepath.Join(cwd, tc.path))
+ if err != nil {
+ t.Fatal(err)
+ }
- res, err := LoadGroups(tc.cfg, tc.hosts)
-
- if !reflect.DeepEqual(tc.exp, res) {
- t.Errorf("res: %s",
- 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("err = %#v, want %#v",
- err, tc.expErr)
- }
-
- err = os.Chdir(cwd)
- if err != nil {
- t.Fatal(err)
- }
+ res, err := LoadGroups(tc.cfg, tc.hosts)
+ testutil.AssertEqual(t, "res", res, tc.exp)
+ testutil.AssertErrorEqual(t, "err", err, tc.expErr)
})
}
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
- res, err := ResolveHostGroups(tc.host, allGroups, tc.detected)
- if !reflect.DeepEqual(tc.exp, res) {
- t.Errorf("res: %s",
- 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("err = %#v, want %#v",
- err, tc.expErr)
- }
+ res, err := ResolveHostGroups(tc.host, allGroups,
+ tc.detected)
+ testutil.AssertEqual(t, "res", res, tc.exp)
+ testutil.AssertErrorEqual(t, "err", err, tc.expErr)
})
}
}