summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkg/commands/oscommands/cmd_obj_runner.go11
1 files changed, 9 insertions, 2 deletions
diff --git a/pkg/commands/oscommands/cmd_obj_runner.go b/pkg/commands/oscommands/cmd_obj_runner.go
index 92e024758..12edd38db 100644
--- a/pkg/commands/oscommands/cmd_obj_runner.go
+++ b/pkg/commands/oscommands/cmd_obj_runner.go
@@ -226,6 +226,9 @@ func (self *cmdObjRunner) runAndStreamAux(
return err
}
+ var stdout bytes.Buffer
+ handler.stdoutPipe = io.TeeReader(handler.stdoutPipe, &stdout)
+
defer func() {
if closeErr := handler.close(); closeErr != nil {
self.log.Error(closeErr)
@@ -237,10 +240,14 @@ func (self *cmdObjRunner) runAndStreamAux(
err = cmd.Wait()
if err != nil {
errStr := stderr.String()
- if cmdObj.ShouldIgnoreEmptyError() && errStr == "" {
+ if errStr != "" {
+ return errors.New(errStr)
+ }
+
+ if cmdObj.ShouldIgnoreEmptyError() {
return nil
}
- return errors.New(stderr.String())
+ return errors.New(stdout.String())
}
return nil