diff options
Diffstat (limited to 'functest/ci')
-rw-r--r-- | functest/ci/run_tests.py | 19 |
1 files changed, 17 insertions, 2 deletions
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 @@ -99,6 +98,22 @@ class Runner(object): 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""" try: @@ -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']): |