[oe-commits] [openembedded-core] 03/05: oeqa/oetest: Improve subprocess error reporting

git at git.openembedded.org git at git.openembedded.org
Tue Aug 16 17:09:30 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit 53aab0b80cbecc069d4fcb2dce9da76a6a406eca
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Mon Aug 15 17:56:40 2016 +0100

    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.
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/lib/oeqa/oetest.py | 9 +++++++++
 1 file changed, 9 insertions(+)

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

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list