diff options
| author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2016-11-23 11:58:21 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-23 12:05:22 +0000 |
| commit | 0e2d84728bc625b5055bbc0512ae2cd06cd45dcf (patch) | |
| tree | 8293280685542a2e688495b9bd722f6d6bc2b862 | |
| parent | fa4742f585e79d82ef29aa6ebc0536dd44307695 (diff) | |
| download | poky-0e2d84728bc625b5055bbc0512ae2cd06cd45dcf.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]
(From OE-Core rev: 91ba6ea9fe2eb82f992a6516d7971b435e1cfd32)
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/lib/oeqa/buildperf/base.py | 25 |
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): | |||
| 173 | self.elapsed_time = datetime.utcnow() - self.start_time | 173 | self.elapsed_time = datetime.utcnow() - self.start_time |
| 174 | 174 | ||
| 175 | def all_results(self): | 175 | def all_results(self): |
| 176 | result_map = {'SUCCESS': self.successes, | 176 | compound = [('SUCCESS', t, None) for t in self.successes] + \ |
| 177 | 'FAILURE': self.failures, | 177 | [('FAILURE', t, m) for t, m in self.failures] + \ |
| 178 | 'ERROR': self.errors, | 178 | [('ERROR', t, m) for t, m in self.errors] + \ |
| 179 | 'EXPECTED_FAILURE': self.expectedFailures, | 179 | [('EXPECTED_FAILURE', t, m) for t, m in self.expectedFailures] + \ |
| 180 | 'UNEXPECTED_SUCCESS': self.unexpectedSuccesses, | 180 | [('UNEXPECTED_SUCCESS', t, None) for t in self.unexpectedSuccesses] + \ |
| 181 | 'SKIPPED': self.skipped} | 181 | [('SKIPPED', t, m) for t, m in self.skipped] |
| 182 | for status, tests in result_map.items(): | 182 | return sorted(compound, key=lambda info: info[1].start_time) |
| 183 | for test in tests: | ||
| 184 | if isinstance(test, tuple): | ||
| 185 | yield (status, test) | ||
| 186 | else: | ||
| 187 | yield (status, (test, None)) | ||
| 188 | 183 | ||
| 189 | 184 | ||
| 190 | def update_globalres_file(self, filename): | 185 | def update_globalres_file(self, filename): |
| @@ -205,7 +200,7 @@ class BuildPerfTestResult(unittest.TextTestResult): | |||
| 205 | git_tag_rev = self.git_commit | 200 | git_tag_rev = self.git_commit |
| 206 | 201 | ||
| 207 | values = ['0'] * 12 | 202 | values = ['0'] * 12 |
| 208 | for status, (test, msg) in self.all_results(): | 203 | for status, test, _ in self.all_results(): |
| 209 | if status in ['ERROR', 'SKIPPED']: | 204 | if status in ['ERROR', 'SKIPPED']: |
| 210 | continue | 205 | continue |
| 211 | (t_ind, t_len), (s_ind, s_len) = gr_map[test.name] | 206 | (t_ind, t_len), (s_ind, s_len) = gr_map[test.name] |
| @@ -233,7 +228,7 @@ class BuildPerfTestResult(unittest.TextTestResult): | |||
| 233 | 'elapsed_time': self.elapsed_time} | 228 | 'elapsed_time': self.elapsed_time} |
| 234 | 229 | ||
| 235 | tests = {} | 230 | tests = {} |
| 236 | for status, (test, reason) in self.all_results(): | 231 | for status, test, reason in self.all_results(): |
| 237 | tests[test.name] = {'name': test.name, | 232 | tests[test.name] = {'name': test.name, |
| 238 | 'description': test.shortDescription(), | 233 | 'description': test.shortDescription(), |
| 239 | 'status': status, | 234 | 'status': status, |
| @@ -268,7 +263,7 @@ class BuildPerfTestResult(unittest.TextTestResult): | |||
| 268 | suite.set('skipped', str(len(self.skipped))) | 263 | suite.set('skipped', str(len(self.skipped))) |
| 269 | 264 | ||
| 270 | test_cnt = 0 | 265 | test_cnt = 0 |
| 271 | for status, (test, reason) in self.all_results(): | 266 | for status, test, reason in self.all_results(): |
| 272 | test_cnt += 1 | 267 | test_cnt += 1 |
| 273 | testcase = ET.SubElement(suite, 'testcase') | 268 | testcase = ET.SubElement(suite, 'testcase') |
| 274 | testcase.set('classname', test.__module__ + '.' + test.__class__.__name__) | 269 | testcase.set('classname', test.__module__ + '.' + test.__class__.__name__) |
