diff options
Diffstat (limited to 'dovetail/run.py')
-rwxr-xr-x | dovetail/run.py | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/dovetail/run.py b/dovetail/run.py index 1133b864..0306efe4 100755 --- a/dovetail/run.py +++ b/dovetail/run.py @@ -38,14 +38,10 @@ def load_testcase(): def run_test(testsuite, testarea, logger): - testarea_list = [] - for value in testsuite['testcases_list']: - if value is not None and (testarea == 'full' or testarea in value): - testarea_list.append(value) - + testcase_list = Testcase.get_testcase_list(testsuite, testarea) duration = 0 start_time = time.time() - for testcase_name in testarea_list: + for testcase_name in testcase_list: logger.info('>>[testcase]: {}'.format(testcase_name)) testcase = Testcase.get(testcase_name) if testcase is None: @@ -239,6 +235,14 @@ def env_init(logger): dt_utils.source_env(openrc) +def check_hosts_file(logger): + hosts_file = os.path.join(dt_cfg.dovetail_config['config_dir'], + 'hosts.yaml') + if not os.path.isfile(hosts_file): + logger.warn("There is no hosts file {}, may be some issues with " + "domain name resolution.".format(hosts_file)) + + def main(*args, **kwargs): """Dovetail compliance test entry!""" build_tag = "daily-master-%s" % str(uuid.uuid1()) @@ -259,6 +263,7 @@ def main(*args, **kwargs): copy_patch_files(logger) dt_utils.check_docker_version(logger) validate_input(kwargs, dt_cfg.dovetail_config['validate_input'], logger) + check_hosts_file(logger) configs = filter_config(kwargs, logger) if configs is not None: @@ -275,24 +280,22 @@ def main(*args, **kwargs): else: dt_cfg.dovetail_config['offline'] = False - testarea = kwargs['testarea'] + origin_testarea = kwargs['testarea'] testsuite_validation = False - testarea_validation = False - if (testarea == 'full') or \ - (testarea in dt_cfg.dovetail_config['testarea_supported']): - testarea_validation = True if kwargs['testsuite'] in dt_cfg.dovetail_config['testsuite_supported']: testsuite_validation = True + testarea_validation, testarea = Testcase.check_testarea(origin_testarea) if testsuite_validation and testarea_validation: testsuite_yaml = load_testsuite(kwargs['testsuite']) load_testcase() duration = run_test(testsuite_yaml, testarea, logger) if dt_cfg.dovetail_config['report_dest'] == "file": Report.generate(testsuite_yaml, testarea, duration) - Report.save_logs() + if dt_cfg.dovetail_config['report_dest'].startswith("http"): + Report.save_logs() else: logger.error('Invalid input commands, testsuite {} testarea {}' - .format(kwargs['testsuite'], testarea)) + .format(kwargs['testsuite'], origin_testarea)) dt_cfg.load_config_files() |