summaryrefslogtreecommitdiffstats
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
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>
-rw-r--r--dovetail/report.py20
-rwxr-xr-xdovetail/run.py4
2 files changed, 14 insertions, 10 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:
diff --git a/dovetail/run.py b/dovetail/run.py
index f268f921..607e1b15 100755
--- a/dovetail/run.py
+++ b/dovetail/run.py
@@ -54,8 +54,8 @@ def run_test(testsuite, testarea, logger):
continue
run_testcase = True
- if testcase.exceed_max_retry_times():
- run_testcase = False
+ # if testcase.exceed_max_retry_times():
+ # run_testcase = False
# if testcase.script_result_acquired():
# run_testcase = False