X-Git-Url: https://ruderich.org/simon/gitweb/?p=safcm%2Fsafcm.git;a=blobdiff_plain;f=cmd%2Fsafcm-remote%2Fsync%2Fsync_test.go;h=52d7435eadcea20abff6fbbc2f9e33639878692d;hp=44e2be29f3e87918767c8fd22b14906805351394;hb=6d78cccd689fd81a08851b95a03fea608f497e16;hpb=f2f2bc47e8729548f3c10117f7f008b547c4afc5 diff --git a/cmd/safcm-remote/sync/sync_test.go b/cmd/safcm-remote/sync/sync_test.go index 44e2be2..52d7435 100644 --- a/cmd/safcm-remote/sync/sync_test.go +++ b/cmd/safcm-remote/sync/sync_test.go @@ -31,9 +31,10 @@ import ( "ruderich.org/simon/safcm/cmd/safcm-remote/run" ) +// testRunner implements run.Runner to test commands without actually running +// them. type testRunner struct { t *testing.T - name string expCmds []*exec.Cmd resStdout [][]byte resStderr [][]byte @@ -56,8 +57,7 @@ func (r *testRunner) CombinedOutput(cmd *exec.Cmd) ([]byte, error) { stdout, stderr, err := r.check("combinedOutput", cmd) if stderr != nil { // stdout also contains stderr - r.t.Fatalf("%s: CombinedOutput: stderr != nil, but %v", - r.name, stderr) + r.t.Fatalf("CombinedOutput: stderr != nil, but %v", stderr) } return stdout, err } @@ -65,25 +65,23 @@ func (r *testRunner) check(method string, cmd *exec.Cmd) ( []byte, []byte, error) { if len(r.expCmds) == 0 { - r.t.Fatalf("%s: %s: empty expCmds", r.name, method) + r.t.Fatalf("%s: empty expCmds", method) } if len(r.resStdout) == 0 { - r.t.Fatalf("%s: %s: empty resStdout", r.name, method) + r.t.Fatalf("%s: empty resStdout", method) } if len(r.resStderr) == 0 { - r.t.Fatalf("%s: %s: empty resStderr", r.name, method) + r.t.Fatalf("%s: empty resStderr", method) } if len(r.resError) == 0 { - r.t.Fatalf("%s: %s: empty resError", r.name, method) + r.t.Fatalf("%s: empty resError", method) } exp := r.expCmds[0] r.expCmds = r.expCmds[1:] if !reflect.DeepEqual(exp, cmd) { - r.t.Errorf("%s: %s: %s", r.name, method, - cmp.Diff(exp, cmd, cmpopts.IgnoreUnexported( - exec.Cmd{}, - bytes.Buffer{}))) + opts := cmpopts.IgnoreUnexported(exec.Cmd{}, bytes.Buffer{}) + r.t.Errorf("%s: %s", method, cmp.Diff(exp, cmd, opts)) } var stdout, stderr []byte @@ -140,20 +138,16 @@ func (s *syncTestResult) Wait() []string { // All expected commands must have been executed if len(s.runner.expCmds) != 0 { - s.runner.t.Errorf("%s: expCmds left: %v", - s.runner.name, s.runner.expCmds) + s.runner.t.Errorf("expCmds left: %v", s.runner.expCmds) } if len(s.runner.resStdout) != 0 { - s.runner.t.Errorf("%s: resStdout left: %v", - s.runner.name, s.runner.resStdout) + s.runner.t.Errorf("resStdout left: %v", s.runner.resStdout) } if len(s.runner.resStderr) != 0 { - s.runner.t.Errorf("%s: resStderr left: %v", - s.runner.name, s.runner.resStderr) + s.runner.t.Errorf("resStderr left: %v", s.runner.resStderr) } if len(s.runner.resError) != 0 { - s.runner.t.Errorf("%s: resError left: %v", - s.runner.name, s.runner.resError) + s.runner.t.Errorf("resError left: %v", s.runner.resError) } return s.dbg