summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/buildperf
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-11-23 11:58:21 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-23 12:03:59 +0000
commit91ba6ea9fe2eb82f992a6516d7971b435e1cfd32 (patch)
tree2fad98ee5ede7787002b6949129eb4b84909f8fb /meta/lib/oeqa/buildperf
parent7c23ddfeb4a46ee519cafdbd83ad1880621fba4d (diff)
downloadopenembedded-core-contrib-91ba6ea9fe2eb82f992a6516d7971b435e1cfd32.tar.gz
oeqa.buildperf: report results in chronological order
Write results in the report file in chronological order, instead of random order dependent on test statuses. [YOCTO #10590] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/lib/oeqa/buildperf')
-rw-r--r--meta/lib/oeqa/buildperf/base.py25
1 files changed, 10 insertions, 15 deletions
diff --git a/meta/lib/oeqa/buildperf/base.py b/meta/lib/oeqa/buildperf/base.py
index b82476c110..92f3e451a3 100644
--- a/meta/lib/oeqa/buildperf/base.py
+++ b/meta/lib/oeqa/buildperf/base.py
@@ -173,18 +173,13 @@ class BuildPerfTestResult(unittest.TextTestResult):
self.elapsed_time = datetime.utcnow() - self.start_time
def all_results(self):
- result_map = {'SUCCESS': self.successes,
- 'FAILURE': self.failures,
- 'ERROR': self.errors,
- 'EXPECTED_FAILURE': self.expectedFailures,
- 'UNEXPECTED_SUCCESS': self.unexpectedSuccesses,
- 'SKIPPED': self.skipped}
- for status, tests in result_map.items():
- for test in tests:
- if isinstance(test, tuple):
- yield (status, test)
- else:
- yield (status, (test, None))
+ compound = [('SUCCESS', t, None) for t in self.successes] + \
+ [('FAILURE', t, m) for t, m in self.failures] + \
+ [('ERROR', t, m) for t, m in self.errors] + \
+ [('EXPECTED_FAILURE', t, m) for t, m in self.expectedFailures] + \
+ [('UNEXPECTED_SUCCESS', t, None) for t in self.unexpectedSuccesses] + \
+ [('SKIPPED', t, m) for t, m in self.skipped]
+ return sorted(compound, key=lambda info: info[1].start_time)
def update_globalres_file(self, filename):
@@ -205,7 +200,7 @@ class BuildPerfTestResult(unittest.TextTestResult):
git_tag_rev = self.git_commit
values = ['0'] * 12
- for status, (test, msg) in self.all_results():
+ for status, test, _ in self.all_results():
if status in ['ERROR', 'SKIPPED']:
continue
(t_ind, t_len), (s_ind, s_len) = gr_map[test.name]
@@ -233,7 +228,7 @@ class BuildPerfTestResult(unittest.TextTestResult):
'elapsed_time': self.elapsed_time}
tests = {}
- for status, (test, reason) in self.all_results():
+ for status, test, reason in self.all_results():
tests[test.name] = {'name': test.name,
'description': test.shortDescription(),
'status': status,
@@ -268,7 +263,7 @@ class BuildPerfTestResult(unittest.TextTestResult):
suite.set('skipped', str(len(self.skipped)))
test_cnt = 0
- for status, (test, reason) in self.all_results():
+ for status, test, reason in self.all_results():
test_cnt += 1
testcase = ET.SubElement(suite, 'testcase')
testcase.set('classname', test.__module__ + '.' + test.__class__.__name__)