return resErr
}
func (r *testRunner) CombinedOutput(cmd *exec.Cmd) ([]byte, error) {
+ r.t.Helper()
+
stdout, stderr, err := r.check("combinedOutput", cmd)
if stderr != nil {
// stdout also contains stderr
}
func (r *testRunner) check(method string, cmd *exec.Cmd) (
[]byte, []byte, error) {
+ r.t.Helper()
if len(r.expCmds) == 0 {
r.t.Fatalf("%s: empty expCmds", method)
exp := r.expCmds[0]
r.expCmds = r.expCmds[1:]
if !reflect.DeepEqual(exp, cmd) {
- r.t.Errorf("%s: %s", 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
res.wg.Done()
}()
- logger := log.NewLogger(logPrefix,
- func(level safcm.LogLevel, format string, a ...interface{}) {
- res.ch <- fmt.Sprintf("%d: %s", level,
- fmt.Sprintf(format, a...))
- })
+ logger := log.NewLogger(func(level safcm.LogLevel, msg string) {
+ res.ch <- fmt.Sprintf("%d: %s", level, msg)
+ })
return &Sync{
req: req,
cmd: run.NewCmd(runner, logger),
}
func (s *syncTestResult) Wait() []string {
+ s.runner.t.Helper()
+
close(s.ch)
s.wg.Wait()