From 2cc07ab253f1ba6a1f07a66051c9ba6d98cd2357 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 13 Nov 2018 21:11:50 +0000 Subject: [PATCH] oeqa/runner: Sort the test result output by result class We want to see failures/errors listed last since this is the most easily visible part of the log on consoles or autobuilder output and makes human processing easier rather than having to scroll up and scan for a single failure. Signed-off-by: Richard Purdie --- meta/lib/oeqa/core/runner.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/core/runner.py b/meta/lib/oeqa/core/runner.py index 0cb1a95c1e..f8bb23f344 100644 --- a/meta/lib/oeqa/core/runner.py +++ b/meta/lib/oeqa/core/runner.py @@ -107,6 +107,7 @@ class OETestResult(_TestResult): self.tc.logger.info("RESULTS:") result = {} + logs = {} if hasattr(self.tc, "extraresults"): result = self.tc.extraresults @@ -121,8 +122,19 @@ class OETestResult(_TestResult): if hasattr(d, 'oeid'): oeid = d.oeid - self.tc.logger.info("RESULTS - %s - Testcase %s: %s" % (case.id(), oeid, status)) - result[case.id()] = {'status': status, 'log': log} + if status not in logs: + logs[status] = [] + logs[status].append("RESULTS - %s - Testcase %s: %s" % (case.id(), oeid, status)) + if log: + result[case.id()] = {'status': status, 'log': log} + else: + result[case.id()] = {'status': status} + + for i in ['PASSED', 'SKIPPED', 'EXPECTEDFAIL', 'ERROR', 'FAILED', 'UNKNOWN']: + if i not in logs: + continue + for l in logs[i]: + self.tc.logger.info(l) if json_file_dir: tresultjsonhelper = OETestResultJSONHelper() -- 2.40.1