X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync_sync_test.go;h=f3d046a23a0f4618525403fd1158239e8d149dca;hb=641203fda8f7da72c74562c9dc910ca108116f11;hp=f6aafd52445e6664f4958ab82703736a51e93982;hpb=f2f2bc47e8729548f3c10117f7f008b547c4afc5;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/sync_sync_test.go b/cmd/safcm/sync_sync_test.go index f6aafd5..f3d046a 100644 --- a/cmd/safcm/sync_sync_test.go +++ b/cmd/safcm/sync_sync_test.go @@ -419,71 +419,72 @@ func TestHostSyncReq(t *testing.T) { } for _, tc := range tests { - err = os.Chdir(filepath.Join(cwd, "testdata", tc.project)) - if err != nil { - t.Fatal(err) - } - - // `safcm fixperms` in case user has strict umask - log.SetOutput(io.Discard) - err := MainFixperms() - if err != nil { - t.Fatal(err) - } - log.SetOutput(os.Stderr) + t.Run(tc.name, func(t *testing.T) { + err = os.Chdir(filepath.Join(cwd, + "testdata", tc.project)) + if err != nil { + t.Fatal(err) + } - cfg, allHosts, allGroups, err := LoadBaseFiles() - if err != nil { - t.Fatal(err) - } - cfg.LogLevel = tc.level + // `safcm fixperms` in case user has strict umask + log.SetOutput(io.Discard) + err := MainFixperms() + if err != nil { + t.Fatal(err) + } + log.SetOutput(os.Stderr) - var events []string - ch := make(chan Event) - done := make(chan struct{}) - go func() { - for { - x, ok := <-ch - if !ok { - break - } - if x.ConnEvent.Type != 0 { - panic("unexpected ConnEvent") - } - events = append(events, - fmt.Sprintf("%s: %v %d %s", - x.Host.Name, - x.Error, x.Log.Level, - x.Log.Text)) + cfg, allHosts, allGroups, err := LoadBaseFiles() + if err != nil { + t.Fatal(err) } - done <- struct{}{} - }() + cfg.LogLevel = tc.level - s := &Sync{ - host: allHosts.Map[tc.host], - config: cfg, - allHosts: allHosts, - allGroups: allGroups, - events: ch, - } + var events []string + ch := make(chan Event) + done := make(chan struct{}) + go func() { + for { + x, ok := <-ch + if !ok { + break + } + if x.ConnEvent.Type != 0 { + panic("unexpected ConnEvent") + } + events = append(events, + fmt.Sprintf("%s: %v %d %s", + x.Host.Name, + x.Error, x.Log.Level, + x.Log.Text)) + } + done <- struct{}{} + }() - res, err := s.hostSyncReq(tc.detected) - if !reflect.DeepEqual(tc.exp, res) { - t.Errorf("%s: res: %s", tc.name, - 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.name, err, tc.expErr) - } + s := &Sync{ + host: allHosts.Map[tc.host], + config: cfg, + allHosts: allHosts, + allGroups: allGroups, + events: ch, + } - close(ch) - <-done - if !reflect.DeepEqual(tc.expEvents, events) { - t.Errorf("%s: events: %s", tc.name, - cmp.Diff(tc.expEvents, events)) - } + res, err := s.hostSyncReq(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) + } + close(ch) + <-done + if !reflect.DeepEqual(tc.expEvents, events) { + t.Errorf("events: %s", + cmp.Diff(tc.expEvents, events)) + } + }) } }