]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa: fix OETestCalledProcessError for check_output method
authorPeter Marko <peter.marko@siemens.com>
Thu, 31 Jul 2025 19:35:06 +0000 (21:35 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 4 Aug 2025 17:04:00 +0000 (18:04 +0100)
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

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>
meta/lib/oeqa/utils/subprocesstweak.py

index 1774513023b313b8ecde61623ecc8a31408ae5d5..046667faa98d58ac4404b00b795eb783b22d4436 100644 (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():