From: Dan Williams Date: Mon, 27 Feb 2017 19:27:19 +0000 (-0600) Subject: pkg/testutils: return errors after restoring stdout X-Git-Url: https://git.halfball.org/?a=commitdiff_plain;h=5a984f0dee967a9b6e7c44c0e86449852aefe676;p=cni.git pkg/testutils: return errors after restoring stdout Ensures Ginkgo is able to print detailed failure messages instead of them being captured by the pipe. --- diff --git a/pkg/testutils/cmd.go b/pkg/testutils/cmd.go index 5883c08..a6045b3 100644 --- a/pkg/testutils/cmd.go +++ b/pkg/testutils/cmd.go @@ -46,13 +46,15 @@ func CmdAddWithResult(cniNetns, cniIfname string, conf []byte, f func() error) ( os.Stdout = w err = f() w.Close() - if err != nil { - return nil, nil, err - } - // parse the result - out, err := ioutil.ReadAll(r) + var out []byte + if err == nil { + out, err = ioutil.ReadAll(r) + } os.Stdout = oldStdout + + // Return errors after restoring stdout so Ginkgo will correctly + // emit verbose error information on stdout if err != nil { return nil, nil, err }