summaryrefslogtreecommitdiffstats
path: root/dovetail/report.py
diff options
context:
space:
mode:
authorxudan <xudan16@huawei.com>2017-04-25 03:41:41 +0000
committerxudan <xudan16@huawei.com>2017-04-25 03:41:41 +0000
commita92c70b82ef5e68ecbf0fbb6cd6c4d0b904df3af (patch)
treec057fc7f40a90cc8a91808105ec7a7267af0e97c /dovetail/report.py
parentdfeb31d74c5193956a0e77ad76054fc4aa7b100b (diff)
Bugfix: KeyError when tempest_custom runs wrong
JIRA: DOVETAIL-406 1. When there are something wrong with the test case tempest_custom, it's details json data are "details": {}, So it will throw KeyError exception in this situation. 2. Catch this exception and set all sub_testcases FAIL. 3. Disable the exceed_max_retry_times(). Change-Id: I6bdfc5944a535625b2211a3bd8096a13b81b339e Signed-off-by: xudan <xudan16@huawei.com>
Diffstat (limited to 'dovetail/report.py')
-rw-r--r--dovetail/report.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/dovetail/report.py b/dovetail/report.py
index c51ce687..2c6200d3 100644
--- a/dovetail/report.py
+++ b/dovetail/report.py
@@ -416,16 +416,20 @@ class FunctestChecker(object):
testcase_passed = 'SKIP'
for sub_testcase in sub_testcase_list:
self.logger.debug('check sub_testcase:%s', sub_testcase)
- if self.get_sub_testcase(sub_testcase,
- db_result['details']['errors']):
+ try:
+ if self.get_sub_testcase(sub_testcase,
+ db_result['details']['errors']):
+ testcase.sub_testcase_passed(sub_testcase, 'FAIL')
+ testcase_passed = 'FAIL'
+ continue
+ if self.get_sub_testcase(sub_testcase,
+ db_result['details']['skipped']):
+ testcase.sub_testcase_passed(sub_testcase, 'SKIP')
+ else:
+ testcase.sub_testcase_passed(sub_testcase, 'PASS')
+ except KeyError:
testcase.sub_testcase_passed(sub_testcase, 'FAIL')
testcase_passed = 'FAIL'
- continue
- if self.get_sub_testcase(sub_testcase,
- db_result['details']['skipped']):
- testcase.sub_testcase_passed(sub_testcase, 'SKIP')
- else:
- testcase.sub_testcase_passed(sub_testcase, 'PASS')
if testcase_passed == 'SKIP':
for sub_testcase in sub_testcase_list: