diff options
Diffstat (limited to 'meta/lib/oeqa/core/case.py')
-rw-r--r-- | meta/lib/oeqa/core/case.py | 13 |
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: |