oeqa: fix OETestCalledProcessError for check_output method

Per documentation, subprocess.CalledProcessError exception has stderr
filled out only for run method, it's None for check_output method.
So serialize it only if it's not None.

Avoids:
  File "<poky-dir>/meta/lib/oeqa/utils/subprocesstweak.py", line 15, in __str__
    s = s + "\nStandard Error: " + strify(self.stderr)
        ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
TypeError: can only concatenate str (not "NoneType") to str

(From OE-Core rev: d13f444468b4b10f913b3cf01d7d13ef9d42838e)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Marko
2025-07-31 21:35:06 +02:00
committed by Richard Purdie
parent 752eca419d
commit 1987d7943e

View File

@@ -12,7 +12,9 @@ class OETestCalledProcessError(subprocess.CalledProcessError):
s = super().__str__()
s = s + "\nStandard Output: " + strify(self.output)
s = s + "\nStandard Error: " + strify(self.stderr)
# stderr is not available for check_output method
if self.stderr != None:
s = s + "\nStandard Error: " + strify(self.stderr)
return s
def errors_have_output():