X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fconfig%2Ftemplates_test.go;h=c6c2b0da13e14234d232f667a6541866f61a7348;hb=HEAD;hp=6a0182c3be153910f21ef302e4d40f3932e21d41;hpb=f2f2bc47e8729548f3c10117f7f008b547c4afc5;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/config/templates_test.go b/cmd/safcm/config/templates_test.go index 6a0182c..c6c2b0d 100644 --- a/cmd/safcm/config/templates_test.go +++ b/cmd/safcm/config/templates_test.go @@ -1,17 +1,5 @@ -// Copyright (C) 2021 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 -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . +// SPDX-License-Identifier: GPL-3.0-or-later +// Copyright (C) 2021-2024 Simon Ruderich package config @@ -19,12 +7,10 @@ import ( "fmt" "io/fs" "os" - "reflect" "testing" - "github.com/google/go-cmp/cmp" - "ruderich.org/simon/safcm" + "ruderich.org/simon/safcm/testutil" ) func TestLoadTemplates(t *testing.T) { @@ -32,7 +18,7 @@ func TestLoadTemplates(t *testing.T) { if err != nil { t.Fatal(err) } - defer os.Chdir(cwd) + defer os.Chdir(cwd) //nolint:errcheck err = os.Chdir("../testdata/project") if err != nil { @@ -99,6 +85,15 @@ func TestLoadTemplates(t *testing.T) { This is GNU/Linux host + + +all + + +host1.example.org + + + `), }, "/etc/rc.local": { @@ -242,24 +237,18 @@ This is GNU/Linux host } for _, tc := range tests { - // Use LoadFiles() so we work on real data and don't make any - // mistakes generating it - files, err := LoadFiles(tc.group) - if err != nil { - t.Fatalf("%s: err = %#v, want nil", - tc.group, err) - } - err = LoadTemplates(tc.group, files, - host, groups, allHosts, allGroups) - - if !reflect.DeepEqual(tc.exp, files) { - t.Errorf("%s: res: %s", tc.group, - cmp.Diff(tc.exp, files)) - } - // 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.group, err, tc.expErr) - } + t.Run(tc.group, func(t *testing.T) { + // Use LoadFiles() so we work on real data and don't + // make any mistakes generating it + files, err := LoadFiles(tc.group) + if err != nil { + t.Fatalf("err = %#v, want nil", err) + } + err = LoadTemplates(tc.group, files, + host, groups, allHosts, allGroups) + + testutil.AssertEqual(t, "res", files, tc.exp) + testutil.AssertErrorEqual(t, "err", err, tc.expErr) + }) } }