diff options
author | xudan <xudan16@huawei.com> | 2016-11-09 06:26:11 +0000 |
---|---|---|
committer | xudan <xudan16@huawei.com> | 2016-11-17 01:23:37 +0000 |
commit | 95720ae350260753788dbc92b7d35482165ceb48 (patch) | |
tree | 7db03ede2ec561be457869311a251dda367af8af /dovetail/conf/dovetail_config.py | |
parent | 8a6bc92ff3b906a72194c7fa5db61ebb030052a4 (diff) |
dovetail tool: reorganize dovetail_config.py and modify related files
1. move all sentencs and functions into class DovetailConfig
2. delete dict container_config for it has been replaced by dovetail_config
2. modify files that import dovetail_config, including container.py, parser.py,
report.py, run.py, dovetail_logger.py and testcase.py
JIRA: DOVETAIL-55
Change-Id: Ib5ca3cadd751075c879f39e8cb2eb2e0adcef6aa
Signed-off-by: xudan <xudan16@huawei.com>
Diffstat (limited to 'dovetail/conf/dovetail_config.py')
-rw-r--r-- | dovetail/conf/dovetail_config.py | 99 |
1 files changed, 48 insertions, 51 deletions
diff --git a/dovetail/conf/dovetail_config.py b/dovetail/conf/dovetail_config.py index 03d0bb78..5ac23c43 100644 --- a/dovetail/conf/dovetail_config.py +++ b/dovetail/conf/dovetail_config.py @@ -11,55 +11,52 @@ import yaml import os import re -CERT_PATH = './cert/' -TESTCASE_PATH = './testcase/' -SCENARIO_NAMING_FMT = 'certification_%s' -curr_path = os.path.dirname(os.path.abspath(__file__)) -with open(os.path.join(curr_path, 'dovetail_config.yml')) as f: - dovetail_config = yaml.safe_load(f) - -for extra_config_file in dovetail_config['include_config']: - with open(os.path.join(curr_path, extra_config_file)) as f: - extra_config = yaml.safe_load(f) - dovetail_config.update(extra_config) - -container_config = {} - -container_config['functest'] = dovetail_config['functest'] -container_config['yardstick'] = dovetail_config['yardstick'] - - -with open(os.path.join(curr_path, dovetail_config['cli_file_name'])) as f: - cmd_yml = yaml.safe_load(f) - dovetail_config['cli'] = cmd_yml[cmd_yml.keys()[0]] - - -def cmd_name_trans(cmd_name): - key = cmd_name.upper() - if key == 'SUT_TYPE': - key = 'INSTALLER_TYPE' - if key == 'SUT_IP': - key = 'INSTALLER_IP' - return key - - -def update_envs(options): - for item in options: - if options[item] is not None: - key = cmd_name_trans(item) - os.environ[key] = options[item] - update_config_envs('functest', key) - update_config_envs('yardstick', key) - - -def update_config_envs(script_type, key): - old_value = re.findall(r'\s+%s=(.*?)(\s+|$)' % key, - dovetail_config[script_type]['envs']) - if old_value == []: - dovetail_config[script_type]['envs'] += \ - ' -e ' + key + '=' + os.environ[key] - else: - dovetail_config[script_type]['envs'] = \ - dovetail_config[script_type]['envs'].replace(old_value[0][0], - os.environ[key]) +class DovetailConfig: + + CERT_PATH = './cert/' + TESTCASE_PATH = './testcase/' + SCENARIO_NAMING_FMT = 'certification_%s' + + curr_path = os.path.dirname(os.path.abspath(__file__)) + + with open(os.path.join(curr_path, 'dovetail_config.yml')) as f: + dovetail_config = yaml.safe_load(f) + + for extra_config_file in dovetail_config['include_config']: + with open(os.path.join(curr_path, extra_config_file)) as f: + extra_config = yaml.safe_load(f) + dovetail_config.update(extra_config) + + with open(os.path.join(curr_path, dovetail_config['cli_file_name'])) as f: + cmd_yml = yaml.safe_load(f) + dovetail_config['cli'] = cmd_yml[cmd_yml.keys()[0]] + + @classmethod + def cmd_name_trans(cls, cmd_name): + key = cmd_name.upper() + if key == 'SUT_TYPE': + key = 'INSTALLER_TYPE' + if key == 'SUT_IP': + key = 'INSTALLER_IP' + return key + + @classmethod + def update_envs(cls, options): + for item in options: + if options[item] is not None: + key = cls.cmd_name_trans(item) + os.environ[key] = options[item] + cls.update_config_envs('functest', key) + cls.update_config_envs('yardstick', key) + + @classmethod + def update_config_envs(cls, script_type, key): + envs = cls.dovetail_config[script_type]['envs'] + old_value = re.findall(r'\s+%s=(.*?)(\s+|$)' % key, envs) + if old_value == []: + envs += ' -e ' + key + '=' + os.environ[key] + else: + envs = envs.replace(old_value[0][0], os.environ[key]) + cls.dovetail_config[script_type]['envs'] = envs + return envs |