From 5a984f0dee967a9b6e7c44c0e86449852aefe676 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 27 Feb 2017 13:27:19 -0600 Subject: [PATCH] pkg/testutils: return errors after restoring stdout Ensures Ginkgo is able to print detailed failure messages instead of them being captured by the pipe. --- pkg/testutils/cmd.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/testutils/cmd.go b/pkg/testutils/cmd.go index 5883c08f..a6045b31 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 }