summaryrefslogtreecommitdiffstats
path: root/dovetail/run.py
diff options
context:
space:
mode:
authorxudan <xudan16@huawei.com>2018-10-22 05:38:57 -0400
committerxudan <xudan16@huawei.com>2018-11-06 21:48:26 -0500
commit4ff39a3fba63a3ab4585291244d1f2ea71e0f141 (patch)
tree9039a69aa79781848cc9a7bb4bdd660511ce3788 /dovetail/run.py
parenta53ad2a58fc8f8375cb50333e753f0a74d238df7 (diff)
Update classes in report.py
Change-Id: Ia17bf7ef3e304eef7b3f0b2f7aa04e3be75bc8c3 Signed-off-by: xudan <xudan16@huawei.com>
Diffstat (limited to 'dovetail/run.py')
-rwxr-xr-xdovetail/run.py33
1 files changed, 18 insertions, 15 deletions
diff --git a/dovetail/run.py b/dovetail/run.py
index 3037980b..9f109d45 100755
--- a/dovetail/run.py
+++ b/dovetail/run.py
@@ -40,11 +40,12 @@ def load_testsuite(testsuite):
return Testsuite.get(testsuite)
-def run_test(testcase_list, logger):
+def run_test(testcase_list, report_flag, logger):
+ report = Report()
duration = 0
if not testcase_list:
logger.warning("No test case will be executed.")
- return duration
+ return
start_time = time.time()
for testcase_name in testcase_list:
@@ -55,17 +56,23 @@ def run_test(testcase_list, logger):
if run_testcase:
testcase.run()
- stop_on_fail = Report.check_tc_result(testcase)
- try:
- if (not stop_on_fail or stop_on_fail['criteria'] == "FAIL") \
- and dt_cfg.dovetail_config['stop']:
- return "stop_on_fail"
- except KeyError as e:
- logger.error("There is no key {}.".format(e))
+ result = report.check_tc_result(testcase)
+ if dt_cfg.dovetail_config['stop']:
+ try:
+ if (not result or result['criteria'] == "FAIL"):
+ logger.info("Stop because {} failed".format(testcase_name))
+ return
+ except KeyError as e:
+ logger.error("There is no key {}.".format(e))
+ logger.info("Stop because {} failed".format(testcase_name))
+ return
end_time = time.time()
duration = end_time - start_time
- return duration
+ report.generate(testcase_list, duration)
+ if report_flag:
+ report.save_logs()
+ return
def filter_config(input_dict, logger):
@@ -276,11 +283,7 @@ def main(*args, **kwargs):
if not testcase_list:
raise SystemExit(EXIT_RUN_FAILED)
- duration = run_test(testcase_list, logger)
- if (duration != "stop_on_fail"):
- Report.generate(testcase_list, duration)
- if (kwargs['report']):
- Report.save_logs()
+ run_test(testcase_list, kwargs['report'], logger)
dt_cfg.load_config_files(constants.CONF_PATH)