class OETestCalledProcessError(subprocess.CalledProcessError):
def __str__(self):
def strify(o):
- if isinstance(o, bytes):
- return o.decode("utf-8", errors="replace")
- else:
- return o
+ return o.decode("utf-8", errors="replace") if isinstance(o, bytes) else o
- s = "Command '%s' returned non-zero exit status %d" % (self.cmd, self.returncode)
- if hasattr(self, "output") and self.output:
- s = s + "\nStandard Output: " + strify(self.output)
- if hasattr(self, "stderr") and self.stderr:
- s = s + "\nStandard Error: " + strify(self.stderr)
+ s = super().__str__()
+ s = s + "\nStandard Output: " + strify(self.output)
+ s = s + "\nStandard Error: " + strify(self.stderr)
return s
def errors_have_output():