diff options
author | xudan <xudan16@huawei.com> | 2017-04-25 03:41:41 +0000 |
---|---|---|
committer | xudan <xudan16@huawei.com> | 2017-04-25 03:41:41 +0000 |
commit | a92c70b82ef5e68ecbf0fbb6cd6c4d0b904df3af (patch) | |
tree | c057fc7f40a90cc8a91808105ec7a7267af0e97c | |
parent | dfeb31d74c5193956a0e77ad76054fc4aa7b100b (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.py | 20 | ||||
-rwxr-xr-x | dovetail/run.py | 4 |
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 |