Return error with stderr value

To maintain existing behaviour when not capturing stdout and stderr
This commit is contained in:
Harry White 2019-10-28 22:45:37 +11:00
parent 5d5ca0d3c4
commit b22b4801af

View file

@ -115,11 +115,12 @@ func sanitisedCommandOutput(output []byte, err error) (string, error) {
outputString := string(output)
if err != nil {
// errors like 'exit status 1' are not very useful so we'll create an error
// from the combined output
if outputString == "" {
return "", WrapError(err)
// from stderr if we got an ExitError
exitError, ok := err.(*exec.ExitError)
if ok {
return outputString, errors.New(string(exitError.Stderr))
}
return outputString, errors.New(outputString)
return "", WrapError(err)
}
return outputString, nil
}