diff options
-rw-r--r-- | functest/ci/logging.json | 58 | ||||
-rwxr-xr-x | functest/ci/run_tests.py | 6 | ||||
-rwxr-xr-x | functest/ci/testcases.yaml | 4 | ||||
-rwxr-xr-x | functest/opnfv_tests/sdn/odl/odl.py | 17 | ||||
-rwxr-xr-x[-rw-r--r--] | functest/opnfv_tests/vnf/aaa/aaa.py | 0 | ||||
-rw-r--r-- | functest/tests/unit/odl/test_odl.py | 30 | ||||
-rw-r--r-- | functest/tests/unit/test_logging.ini | 52 | ||||
-rwxr-xr-x[-rw-r--r--] | functest/utils/constants.py | 0 |
8 files changed, 105 insertions, 62 deletions
diff --git a/functest/ci/logging.json b/functest/ci/logging.json index 3f454e8f..2a2399d3 100644 --- a/functest/ci/logging.json +++ b/functest/ci/logging.json @@ -1,29 +1,29 @@ -{
- "version": 1,
- "disable_existing_loggers": false,
- "formatters": {
- "standard": {
- "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
- }
- },
- "handlers": {
- "console": {
- "level": "INFO",
- "class": "logging.StreamHandler",
- "formatter": "standard"
- },
- "file": {
- "level": "DEBUG",
- "class": "logging.FileHandler",
- "formatter": "standard",
- "filename": "/home/opnfv/functest/results/functest.log"
- }
- },
- "loggers": {
- "": {
- "handlers": ["console", "file"],
- "level": "DEBUG",
- "propagate": "yes"
- }
- }
-}
+{ + "version": 1, + "disable_existing_loggers": false, + "formatters": { + "standard": { + "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s" + } + }, + "handlers": { + "console": { + "level": "INFO", + "class": "logging.StreamHandler", + "formatter": "standard" + }, + "file": { + "level": "DEBUG", + "class": "logging.FileHandler", + "formatter": "standard", + "filename": "/home/opnfv/functest/results/functest.log" + } + }, + "loggers": { + "": { + "handlers": ["console", "file"], + "level": "DEBUG", + "propagate": "yes" + } + } +} diff --git a/functest/ci/run_tests.py b/functest/ci/run_tests.py index ef080016..320102dd 100755 --- a/functest/ci/run_tests.py +++ b/functest/ci/run_tests.py @@ -148,7 +148,11 @@ def run_test(test, tier_name, testcases=None): module = importlib.import_module(run_dict['module']) cls = getattr(module, run_dict['class']) test_case = cls() - result = test_case.run() + try: + kwargs = run_dict['args'] + result = test_case.run(**kwargs) + except KeyError: + result = test_case.run() if result == testcase_base.TestcaseBase.EX_OK: if GlobalVariables.REPORT_FLAG: test_case.publish_report() diff --git a/functest/ci/testcases.yaml b/functest/ci/testcases.yaml index 0fffb901..12d791f0 100755 --- a/functest/ci/testcases.yaml +++ b/functest/ci/testcases.yaml @@ -99,6 +99,10 @@ tiers: run: module: 'functest.opnfv_tests.sdn.odl.odl' class: 'ODLTests' + args: + suites: + - /home/opnfv/repos/odl_test/csit/suites/integration/basic + - /home/opnfv/repos/odl_test/csit/suites/openstack/neutron - name: onos diff --git a/functest/opnfv_tests/sdn/odl/odl.py b/functest/opnfv_tests/sdn/odl/odl.py index 339c305e..9502be93 100755 --- a/functest/opnfv_tests/sdn/odl/odl.py +++ b/functest/opnfv_tests/sdn/odl/odl.py @@ -54,6 +54,7 @@ class ODLTests(testcase_base.TestcaseBase): "csit/suites/openstack/neutron") basic_suite_dir = os.path.join(odl_test_repo, "csit/suites/integration/basic") + default_suites = [basic_suite_dir, neutron_suite_dir] res_dir = '/home/opnfv/functest/results/odl/' logger = ft_logger.Logger("opendaylight").getLogger() @@ -89,8 +90,7 @@ class ODLTests(testcase_base.TestcaseBase): self.details['description'] = result.suite.name self.details['tests'] = visitor.get_data() - def main(self, **kwargs): - dirs = [self.basic_suite_dir, self.neutron_suite_dir] + def main(self, suites=default_suites, **kwargs): try: odlusername = kwargs['odlusername'] odlpassword = kwargs['odlpassword'] @@ -117,7 +117,7 @@ class ODLTests(testcase_base.TestcaseBase): stdout_file = os.path.join(self.res_dir, 'stdout.txt') output_dir = os.path.join(self.res_dir, 'output.xml') with open(stdout_file, 'w+') as stdout: - robot.run(*dirs, variable=variables, + robot.run(*suites, variable=variables, output=output_dir, log='NONE', report='NONE', @@ -140,8 +140,13 @@ class ODLTests(testcase_base.TestcaseBase): else: return self.EX_RUN_ERROR - def run(self): + def run(self, **kwargs): try: + suites = self.default_suites + try: + suites = kwargs["suites"] + except KeyError: + pass keystone_url = op_utils.get_endpoint(service_type='identity') neutron_url = op_utils.get_endpoint(service_type='network') kwargs = {'keystoneip': urlparse.urlparse(keystone_url).hostname} @@ -178,7 +183,7 @@ class ODLTests(testcase_base.TestcaseBase): self.logger.exception("Cannot run ODL testcases.") return self.EX_RUN_ERROR - return self.main(**kwargs) + return self.main(suites, **kwargs) class ODLParser(): @@ -228,7 +233,7 @@ if __name__ == '__main__': parser = ODLParser() args = parser.parse_args(sys.argv[1:]) try: - result = odl.main(**args) + result = odl.main(ODLTests.default_suites, **args) if result != testcase_base.TestcaseBase.EX_OK: sys.exit(result) if args['pushtodb']: diff --git a/functest/opnfv_tests/vnf/aaa/aaa.py b/functest/opnfv_tests/vnf/aaa/aaa.py index f1c265f4..f1c265f4 100644..100755 --- a/functest/opnfv_tests/vnf/aaa/aaa.py +++ b/functest/opnfv_tests/vnf/aaa/aaa.py diff --git a/functest/tests/unit/odl/test_odl.py b/functest/tests/unit/odl/test_odl.py index 568fdc82..810b3592 100644 --- a/functest/tests/unit/odl/test_odl.py +++ b/functest/tests/unit/odl/test_odl.py @@ -346,6 +346,28 @@ class ODLTesting(unittest.TestCase): self.test.main = mock.Mock(return_value=status) self.assertEqual(self.test.run(), status) self.test.main.assert_called_once_with( + odl.ODLTests.default_suites, + keystoneip=self._keystone_ip, neutronip=self._neutron_ip, + odlip=odlip, odlpassword=self._odl_password, + odlrestconfport=odlrestconfport, + odlusername=self._odl_username, odlwebport=odlwebport, + ospassword=self._os_password, ostenantname=self._os_tenantname, + osusername=self._os_username) + + def _test_run_defining_multiple_suites( + self, suites, + status=testcase_base.TestcaseBase.EX_OK, + exception=None, odlip="127.0.0.3", odlwebport="8080", + odlrestconfport="8181"): + with mock.patch('functest.utils.openstack_utils.get_endpoint', + side_effect=self._fake_url_for): + if exception: + self.test.main = mock.Mock(side_effect=exception) + else: + self.test.main = mock.Mock(return_value=status) + self.assertEqual(self.test.run(suites=suites), status) + self.test.main.assert_called_once_with( + suites, keystoneip=self._keystone_ip, neutronip=self._neutron_ip, odlip=odlip, odlpassword=self._odl_password, odlrestconfport=odlrestconfport, @@ -394,6 +416,14 @@ class ODLTesting(unittest.TestCase): odlip=self._sdn_controller_ip, odlwebport=self._odl_webport) + def test_run_redefining_suites(self): + os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip + self._test_run_defining_multiple_suites( + [odl.ODLTests.basic_suite_dir], + testcase_base.TestcaseBase.EX_OK, + odlip=self._sdn_controller_ip, + odlwebport=self._odl_webport) + def test_run_fuel(self): os.environ["INSTALLER_TYPE"] = "fuel" self._test_run(testcase_base.TestcaseBase.EX_OK, diff --git a/functest/tests/unit/test_logging.ini b/functest/tests/unit/test_logging.ini index 3d5b947c..492767d1 100644 --- a/functest/tests/unit/test_logging.ini +++ b/functest/tests/unit/test_logging.ini @@ -1,27 +1,27 @@ -[loggers]
-keys=root,functest_logger
-
-[logger_root]
-level=DEBUG
-handlers=console
-
-[logger_functest_logger]
-level=DEBUG
-handlers=console
-qualname=functest.utils.functest_logger
-propagate=0
-
-[handlers]
-keys=console
-
-[handler_console]
-class=StreamHandler
-level=INFO
-formatter=standard
-args=(sys.stdout,)
-
-[formatters]
-keys=standard
-
-[formatter_standard]
+[loggers] +keys=root,functest_logger + +[logger_root] +level=DEBUG +handlers=console + +[logger_functest_logger] +level=DEBUG +handlers=console +qualname=functest.utils.functest_logger +propagate=0 + +[handlers] +keys=console + +[handler_console] +class=StreamHandler +level=INFO +formatter=standard +args=(sys.stdout,) + +[formatters] +keys=standard + +[formatter_standard] format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
\ No newline at end of file diff --git a/functest/utils/constants.py b/functest/utils/constants.py index 2e8eb3f4..2e8eb3f4 100644..100755 --- a/functest/utils/constants.py +++ b/functest/utils/constants.py |