From e3a34aa26d23a74be6800e74154d7cd33c85b4ce Mon Sep 17 00:00:00 2001 From: Haiyan Meng Date: Mon, 8 Aug 2016 14:58:41 -0400 Subject: [PATCH] Fix the err info of utils.ExecCmd Signed-off-by: Haiyan Meng --- utils/utils.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/utils/utils.go b/utils/utils.go index f1f8cc4c..6cbfa00d 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -2,7 +2,9 @@ package utils import ( "bytes" + "fmt" "os/exec" + "strings" "syscall" ) @@ -10,15 +12,17 @@ const PR_SET_CHILD_SUBREAPER = 36 func ExecCmd(name string, args ...string) (string, error) { cmd := exec.Command(name, args...) - var out bytes.Buffer - cmd.Stdout = &out + var stdout bytes.Buffer + var stderr bytes.Buffer + cmd.Stdout = &stdout + cmd.Stderr = &stderr err := cmd.Run() if err != nil { - return "", err + return "", fmt.Errorf("`%v %v` failed: %v (%v)", name, strings.Join(args, " "), stderr.String(), err) } - return out.String(), nil + return stdout.String(), nil } // SetSubreaper sets the value i as the subreaper setting for the calling process