lib/oeqa/subprocesstweak: clean up __str__()

Call super().__str__ to get the bulk of the string representation, and
we don't need to guard on output/strerr existing as they always set.

(From OE-Core rev: 2adcac16dd26fd054ea779cc4e7aa32282d9bdde)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2025-06-04 15:03:24 +01:00 committed by Richard Purdie
parent 97a4062189
commit d67bfdfa1a

View File

@ -8,16 +8,11 @@ import subprocess
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():