[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4886/8267] oeqa: add output to subprocess exceptions
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 4886/8267] oeqa: add output to subprocess exceptions
- Date: Sun, 17 Dec 2017 02:39:55 +0000 (UTC)
commit 726832895de0e8d98fea8dde422e46b249a7bcc9
Author: Ross Burton <ross burton intel com>
Date: Wed Mar 1 12:07:44 2017 +0000
oeqa: add output to subprocess exceptions
Out of the box subprocess.CalledProcessError.__str__() just displays the command
and exit code, which isn't very useful for debugging.
Add a function to oeqa.utils.subprocesstweak to monkey-patch __str__() so that
it can also display the value of stdout and stderr.
(From OE-Core rev: c55401ba1646202fa36e4973b05dbacaa146cb16)
Signed-off-by: Ross Burton <ross burton intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
meta/lib/oeqa/oetest.py | 9 ---------
meta/lib/oeqa/utils/subprocesstweak.py | 19 +++++++++++++++++++
2 files changed, 19 insertions(+), 9 deletions(-)
---
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index a89bd11..1dad763 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -135,15 +135,6 @@ 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
-
def getmodule(pos=2):
# stack returns a list of tuples containg frame information
# First element of the list the is current frame, caller is 1
diff --git a/meta/lib/oeqa/utils/subprocesstweak.py b/meta/lib/oeqa/utils/subprocesstweak.py
new file mode 100644
index 0000000..1f7d11b
--- /dev/null
+++ b/meta/lib/oeqa/utils/subprocesstweak.py
@@ -0,0 +1,19 @@
+import subprocess
+
+class OETestCalledProcessError(subprocess.CalledProcessError):
+ def __str__(self):
+ def strify(o):
+ if isinstance(o, bytes):
+ return o.decode("utf-8", errors="replace")
+ else:
+ return o
+
+ s = "Command '%s' returned non-zero exit status %d" % (self.cmd, self.returncode)
+ if hasattr(self, "output") and self.output:
+ s = s + "\nStandard Output: " + strify(self.output)
+ if hasattr(self, "stderr") and self.stderr:
+ s = s + "\nStandard Error: " + strify(self.stderr)
+ return s
+
+def errors_have_output():
+ subprocess.CalledProcessError = OETestCalledProcessError
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]