summaryrefslogtreecommitdiff
path: root/poky/meta/lib/oeqa/core/runner.py
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/lib/oeqa/core/runner.py')
-rw-r--r--poky/meta/lib/oeqa/core/runner.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/poky/meta/lib/oeqa/core/runner.py b/poky/meta/lib/oeqa/core/runner.py
index f656e1a9c..00b7d0bb1 100644
--- a/poky/meta/lib/oeqa/core/runner.py
+++ b/poky/meta/lib/oeqa/core/runner.py
@@ -182,8 +182,10 @@ class OETestResult(_TestResult):
(status, log) = self._getTestResultDetails(case)
t = ""
+ duration = 0
if case.id() in self.starttime and case.id() in self.endtime:
- t = " (" + "{0:.2f}".format(self.endtime[case.id()] - self.starttime[case.id()]) + "s)"
+ duration = self.endtime[case.id()] - self.starttime[case.id()]
+ t = " (" + "{0:.2f}".format(duration) + "s)"
if status not in logs:
logs[status] = []
@@ -191,6 +193,8 @@ class OETestResult(_TestResult):
report = {'status': status}
if log:
report['log'] = log
+ if duration:
+ report['duration'] = duration
if dump_streams and case.id() in self.logged_output:
(stdout, stderr) = self.logged_output[case.id()]
report['stdout'] = stdout
@@ -319,10 +323,17 @@ class OETestResultJSONHelper(object):
the_file.write(file_content)
def dump_testresult_file(self, write_dir, configuration, result_id, test_result):
- bb.utils.mkdirhier(write_dir)
- lf = bb.utils.lockfile(os.path.join(write_dir, 'jsontestresult.lock'))
+ try:
+ import bb
+ has_bb = True
+ bb.utils.mkdirhier(write_dir)
+ lf = bb.utils.lockfile(os.path.join(write_dir, 'jsontestresult.lock'))
+ except ImportError:
+ has_bb = False
+ os.makedirs(write_dir, exist_ok=True)
test_results = self._get_existing_testresults_if_available(write_dir)
test_results[result_id] = {'configuration': configuration, 'result': test_result}
json_testresults = json.dumps(test_results, sort_keys=True, indent=4)
self._write_file(write_dir, self.testresult_filename, json_testresults)
- bb.utils.unlockfile(lf)
+ if has_bb:
+ bb.utils.unlockfile(lf)