From 181e6d6e4828711744d451185d64c5c4939824fe Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Thu, 8 Feb 2018 18:55:08 +0100 Subject: Move source_credentials() into run_tests.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It's also renamed source_envfile(). Change-Id: I0e7c38c2def125961f86dc2bc9a63cfb6ad87c03 Signed-off-by: Cédric Ollivier --- functest/ci/run_tests.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'functest/ci/run_tests.py') diff --git a/functest/ci/run_tests.py b/functest/ci/run_tests.py index feef7d6a..89c74a97 100644 --- a/functest/ci/run_tests.py +++ b/functest/ci/run_tests.py @@ -29,7 +29,6 @@ import prettytable import functest.ci.tier_builder as tb import functest.core.testcase as testcase import functest.utils.functest_utils as ft_utils -import functest.utils.openstack_utils as os_utils from functest.utils.constants import CONST # __name__ cannot be used here @@ -98,6 +97,22 @@ class Runner(object): CONST.__getattribute__('DEPLOY_SCENARIO'), pkg_resources.resource_filename('functest', 'ci/testcases.yaml')) + @staticmethod + def source_envfile(rc_file): + """Source the env file passed as arg""" + with open(rc_file, "r") as rcfd: + for line in rcfd: + var = (line.rstrip('"\n').replace('export ', '').split( + "=") if re.search(r'(.*)=(.*)', line) else None) + # The two next lines should be modified as soon as rc_file + # conforms with common rules. Be aware that it could induce + # issues if value starts with ' + if var: + key = re.sub(r'^["\' ]*|[ \'"]*$', '', var[0]) + value = re.sub(r'^["\' ]*|[ \'"]*$', '', "".join(var[1:])) + os.environ[key] = value + setattr(CONST, key, value) + @staticmethod def get_run_dict(testname): """Obtain the 'run' block of the testcase from testcases.yaml""" @@ -202,7 +217,7 @@ class Runner(object): try: if 'test' in kwargs: LOGGER.debug("Sourcing the credential file...") - os_utils.source_credentials(CONST.__getattribute__('env_file')) + self.source_envfile(getattr(CONST, 'env_file')) LOGGER.debug("Test args: %s", kwargs['test']) if self.tiers.get_tier(kwargs['test']): -- cgit 1.2.3-korg