summaryrefslogtreecommitdiffstats
path: root/pkg/commands
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-03-27 14:28:30 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-03-27 14:58:20 +1100
commit7128d822cb82beba890aad4dd39e51270598cf0b (patch)
treefb18e36c312bde46b526677b9487faf6fea5d55d /pkg/commands
parent20ec6d98ad7581e985d066a37346f3193a44fc93 (diff)
show stdout in error message if stderr is blank
Diffstat (limited to 'pkg/commands')
-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