diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-27 14:28:30 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-27 14:58:20 +1100 |
commit | 7128d822cb82beba890aad4dd39e51270598cf0b (patch) | |
tree | fb18e36c312bde46b526677b9487faf6fea5d55d /pkg/commands | |
parent | 20ec6d98ad7581e985d066a37346f3193a44fc93 (diff) |
show stdout in error message if stderr is blank
Diffstat (limited to 'pkg/commands')
-rw-r--r-- | pkg/commands/oscommands/cmd_obj_runner.go | 11 |
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 |