diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-15 17:56:40 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-17 10:23:43 +0100 |
commit | 896f1c7696abe467c83c0e0a0bd29609249d3111 (patch) | |
tree | f00431db4e597d2a0e7206ddf3009862369c4913 /meta | |
parent | a18e3c92e9bd424eb8bfbda85e10edb80d798542 (diff) | |
download | poky-896f1c7696abe467c83c0e0a0bd29609249d3111.tar.gz |
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.
(From OE-Core rev: b020b01d41ccaae5d679f1f7950af2e1a1788d39)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/lib/oeqa/oetest.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 514631249c..cf7e8628d8 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py | |||
@@ -136,6 +136,15 @@ class oeRuntimeTest(oeTest): | |||
136 | if status != 0: | 136 | if status != 0: |
137 | return status | 137 | return status |
138 | 138 | ||
139 | class OETestCalledProcessError(subprocess.CalledProcessError): | ||
140 | def __str__(self): | ||
141 | if hasattr(self, "stderr"): | ||
142 | return "Command '%s' returned non-zero exit status %d with output %s and stderr %s" % (self.cmd, self.returncode, self.output, self.stderr) | ||
143 | else: | ||
144 | return "Command '%s' returned non-zero exit status %d with output %s" % (self.cmd, self.returncode, self.output) | ||
145 | |||
146 | subprocess.CalledProcessError = OETestCalledProcessError | ||
147 | |||
139 | class oeSDKTest(oeTest): | 148 | class oeSDKTest(oeTest): |
140 | def __init__(self, methodName='runTest'): | 149 | def __init__(self, methodName='runTest'): |
141 | self.sdktestdir = oeSDKTest.tc.sdktestdir | 150 | self.sdktestdir = oeSDKTest.tc.sdktestdir |