From 0d733e25f6531594cf27dbf3fe69e8f2229b5fa7 Mon Sep 17 00:00:00 2001 From: xudan Date: Wed, 9 Oct 2019 02:50:05 -0400 Subject: Bugfix: got an error on ci when rally tests failed see https://build.opnfv.org/ci/view/dovetail/job/dovetail-fuel-baremetal-proposed_tests-optional-hunter/10/console Change-Id: I7c9b0426603c22a2ef5f4b15ca26fbc0768bd19f Signed-off-by: xudan --- dovetail/report.py | 51 +++++++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 22 deletions(-) (limited to 'dovetail/report.py') diff --git a/dovetail/report.py b/dovetail/report.py index d40303e4..9523d388 100644 --- a/dovetail/report.py +++ b/dovetail/report.py @@ -319,29 +319,36 @@ class FunctestCrawler(Crawler): testcase.set_results(json_results) return json_results - @staticmethod - def get_details(data): - t_details = data['details'] - details = { - 'tests': t_details['tests_number'], - 'failures': t_details['failures_number'], - 'success': t_details['success'], - 'errors': t_details['failures'], - 'skipped': t_details['skipped'] - } - return details + def get_details(self, data): + try: + t_details = data['details'] + details = { + 'tests': t_details['tests_number'], + 'failures': t_details['failures_number'], + 'success': t_details['success'], + 'errors': t_details['failures'], + 'skipped': t_details['skipped'] + } + return details + except Exception as e: + self.logger.exception("Failed to get details, {}.".format(e)) + return None - @staticmethod - def get_rally_details(data): - t_details = data['details'][0]['details'] - details = { - 'tests': len(t_details['success']) + len(t_details['failures']), - 'failures': len(t_details['failures']), - 'success': t_details['success'], - 'errors': t_details['failures'], - 'skipped': [] - } - return details + def get_rally_details(self, data): + try: + t_details = data['details'][0]['details'] + tests = len(t_details['success']) + len(t_details['failures']) + details = { + 'tests': tests, + 'failures': len(t_details['failures']), + 'success': t_details['success'], + 'errors': t_details['failures'], + 'skipped': [] + } + return details + except Exception as e: + self.logger.exception("Failed to get details, {}.".format(e)) + return None class FunctestK8sCrawler(FunctestCrawler): -- cgit 1.2.3-korg