Skip to contentSkip to conversation

oeqa/oetest: Improve subprocess error reporting

PATCH New Richard Purdie 1 participant 1 message Aug 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 oeqa/oetest: Improve subprocess error reporting

Without this, we get to know the command failed and the exit code but have no idea how the command failed since we don't get the output by default.

This makes it much easier to see what went wrong and stand a chance of fixing it.

meta/lib/oeqa/oetest.py +6 -0
index 5146312..fe103e8 100644
@@ -136,6 +136,12 @@ class oeRuntimeTest(oeTest):
             if status != 0:
                 return status
 
+class OETestCalledProcessError(subprocess.CalledProcessError):
+    def __str__(self):
+        return "Command '%s' returned non-zero exit status %d with output %s and stderr %s" % (self.cmd, self.returncode, self.output, self.stderr)
+
+subprocess.CalledProcessError = OETestCalledProcessError
+
 class oeSDKTest(oeTest):
     def __init__(self, methodName='runTest'):
         self.sdktestdir = oeSDKTest.tc.sdktestdir