summaryrefslogtreecommitdiffstats
path: root/dovetail/run.py
diff options
context:
space:
mode:
Diffstat (limited to 'dovetail/run.py')
-rwxr-xr-xdovetail/run.py29
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()