summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/core/case.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oeqa/core/case.py')
-rw-r--r--meta/lib/oeqa/core/case.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/meta/lib/oeqa/core/case.py b/meta/lib/oeqa/core/case.py
index 180635ac6c..bc4446a938 100644
--- a/meta/lib/oeqa/core/case.py
+++ b/meta/lib/oeqa/core/case.py
@@ -43,8 +43,13 @@ class OETestCase(unittest.TestCase):
clss.tearDownClassMethod()
def _oeSetUp(self):
- for d in self.decorators:
- d.setUpDecorator()
+ try:
+ for d in self.decorators:
+ d.setUpDecorator()
+ except:
+ for d in self.decorators:
+ d.tearDownDecorator()
+ raise
self.setUpMethod()
def _oeTearDown(self):
@@ -59,7 +64,7 @@ class OEPTestResultTestCase:
"""
@staticmethod
def _compress_log(log):
- logdata = log.encode("utf-8")
+ logdata = log.encode("utf-8") if isinstance(log, str) else log
logdata = zlib.compress(logdata)
logdata = base64.b64encode(logdata).decode("utf-8")
return {"compressed" : logdata}
@@ -80,7 +85,7 @@ class OEPTestResultTestCase:
if log is not None:
sections[section]["log"] = self._compress_log(log)
elif logfile is not None:
- with open(logfile, "r") as f:
+ with open(logfile, "rb") as f:
sections[section]["log"] = self._compress_log(f.read())
if duration is not None: