Modify how to disable logging in unit test.
authorCédric Ollivier <cedric.ollivier@orange.com>
Thu, 18 May 2017 17:37:26 +0000 (19:37 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Thu, 18 May 2017 18:14:41 +0000 (20:14 +0200)
Logs are only disabled when the unit tests are run from cmdline.
It allows running them via pytest_suite_runner.py and printing
their results to functest.log.

You should notice that the unit test must disable the logger of the
tested TestCase (e.g. testcase.TestCase.logger.disabled = 1). Otherwise
false logs will be printed in console.

Change-Id: Ic171e4575c8bab2e52db1897ae026b61a03b6247
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
30 files changed:
functest/tests/unit/ci/test_prepare_env.py
functest/tests/unit/ci/test_run_tests.py
functest/tests/unit/ci/test_tier_builder.py
functest/tests/unit/ci/test_tier_handler.py
functest/tests/unit/cli/commands/test_cli_env.py
functest/tests/unit/cli/commands/test_cli_os.py
functest/tests/unit/cli/commands/test_cli_testcase.py
functest/tests/unit/cli/commands/test_cli_tier.py
functest/tests/unit/cli/test_cli_base.py
functest/tests/unit/core/test_feature.py
functest/tests/unit/core/test_pytest_suite_runner.py
functest/tests/unit/core/test_testcase.py
functest/tests/unit/core/test_vnf.py
functest/tests/unit/energy/test_functest_energy.py
functest/tests/unit/features/test_barometer.py
functest/tests/unit/odl/test_odl.py
functest/tests/unit/openstack/rally/test_rally.py
functest/tests/unit/openstack/refstack_client/test_refstack_client.py
functest/tests/unit/openstack/tempest/test_conf_utils.py
functest/tests/unit/openstack/tempest/test_tempest.py
functest/tests/unit/utils/test_decorators.py
functest/tests/unit/utils/test_functest_utils.py
functest/tests/unit/utils/test_openstack_clean.py
functest/tests/unit/utils/test_openstack_snapshot.py
functest/tests/unit/utils/test_openstack_tacker.py
functest/tests/unit/utils/test_openstack_utils.py
functest/tests/unit/vnf/ims/test_clearwater.py
functest/tests/unit/vnf/ims/test_cloudify_ims.py
functest/tests/unit/vnf/ims/test_ims_base.py
functest/tests/unit/vnf/ims/test_orchestrator_cloudify.py

index 39a0825..6bb1c13 100644 (file)
@@ -18,8 +18,6 @@ from opnfv.utils import constants as opnfv_constants
 
 class PrepareEnvTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.prepare_envparser = prepare_env.PrepareEnvParser()
 
@@ -456,4 +454,5 @@ class PrepareEnvTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index d005239..d48c79c 100644 (file)
@@ -17,8 +17,6 @@ from functest.utils.constants import CONST
 
 class RunTestsTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.sep = 'test_sep'
         self.creds = {'OS_AUTH_URL': 'http://test_ip:test_port/v2.0',
@@ -249,4 +247,5 @@ class RunTestsTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index feaf33a..989c087 100644 (file)
@@ -15,8 +15,6 @@ from functest.ci import tier_builder
 
 class TierBuilderTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.dependency = {'installer': 'test_installer',
                            'scenario': 'test_scenario'}
@@ -88,4 +86,5 @@ class TierBuilderTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 2800627..c93fffd 100644 (file)
@@ -15,8 +15,6 @@ from functest.ci import tier_handler
 
 class TierHandlerTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.test = mock.Mock()
         attrs = {'get_name.return_value': 'test_name'}
@@ -139,4 +137,5 @@ class TierHandlerTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 4b6ea57..def30aa 100644 (file)
@@ -18,8 +18,6 @@ from functest.tests.unit import test_utils
 
 class CliEnvTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.cli_environ = cli_env.CliEnv()
 
@@ -127,4 +125,5 @@ class CliEnvTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index f0e58c6..9c576fe 100644 (file)
@@ -18,7 +18,6 @@ from functest.utils.constants import CONST
 
 
 class CliOpenStackTesting(unittest.TestCase):
-    logging.disable(logging.CRITICAL)
 
     def setUp(self):
         self.endpoint_ip = 'test_ip'
@@ -235,4 +234,5 @@ class CliOpenStackTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 39c8139..4bf808b 100644 (file)
@@ -17,8 +17,6 @@ from functest.utils.constants import CONST
 
 class CliTestCasesTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.testname = 'testname'
         with mock.patch('functest.cli.commands.cli_testcase.tb'):
@@ -100,4 +98,5 @@ class CliTestCasesTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 802359f..abcdc59 100644 (file)
@@ -17,8 +17,6 @@ from functest.utils.constants import CONST
 
 class CliTierTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.tiername = 'tiername'
         self.testnames = 'testnames'
@@ -127,4 +125,5 @@ class CliTierTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index fe065c2..8960327 100644 (file)
@@ -22,8 +22,6 @@ with mock.patch('functest.cli.commands.cli_testcase.CliTestcase.__init__',
 
 class CliBaseTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.runner = CliRunner()
         self._openstack = cli_base._openstack
@@ -135,4 +133,5 @@ class CliBaseTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 8de42ec..0160c8e 100644 (file)
@@ -17,10 +17,6 @@ import mock
 from functest.core import feature
 from functest.core import testcase
 
-# logging must be disabled else it calls time.time()
-# what will break these unit tests.
-logging.disable(logging.CRITICAL)
-
 
 class FeatureTestingBase(unittest.TestCase):
 
@@ -95,4 +91,7 @@ class BashFeatureTesting(FeatureTestingBase):
 
 
 if __name__ == "__main__":
+    # logging must be disabled else it calls time.time()
+    # what will break these unit tests.
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 15e5bd7..07ac790 100644 (file)
@@ -18,8 +18,6 @@ from functest.core import testcase
 
 class PyTestSuiteRunnerTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.psrunner = pytest_suite_runner.PyTestSuiteRunner()
         self.result = mock.Mock()
@@ -48,4 +46,5 @@ class PyTestSuiteRunnerTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 2adf4a6..ef0983c 100644 (file)
@@ -23,8 +23,6 @@ class TestCaseTesting(unittest.TestCase):
     """The class testing TestCase."""
     # pylint: disable=missing-docstring,too-many-public-methods
 
-    logging.disable(logging.CRITICAL)
-
     _case_name = "base"
     _project_name = "functest"
     _published_result = "PASS"
@@ -225,4 +223,5 @@ class TestCaseTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 793e957..e322773 100644 (file)
@@ -21,8 +21,6 @@ from functest.core import testcase
 
 class VnfBaseTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.test = vnf.VnfOnBoarding(
             project='functest', case_name='aaa')
@@ -165,4 +163,5 @@ class VnfBaseTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index ffe044b..6387b97 100644 (file)
@@ -19,8 +19,6 @@ import functest.energy.energy as energy
 CASE_NAME = "UNIT_test_CASE"
 STEP_NAME = "UNIT_test_STEP"
 
-logging.disable(logging.CRITICAL)
-
 
 class MockHttpResponse(object):  # pylint: disable=too-few-public-methods
     """Mock response for Energy recorder API."""
@@ -274,4 +272,5 @@ class EnergyRecorderTest(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 8ca463b..c651261 100644 (file)
@@ -23,8 +23,6 @@ from functest.opnfv_tests.features import barometer
 
 class BarometerTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     _case_name = "barometercollectd"
     _project_name = "barometer"
 
@@ -47,4 +45,5 @@ class BarometerTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index e2778e2..d62f689 100644 (file)
@@ -32,8 +32,6 @@ class ODLVisitorTesting(unittest.TestCase):
     """The class testing ODLResultVisitor."""
     # pylint: disable=missing-docstring
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.visitor = odl.ODLResultVisitor()
 
@@ -636,4 +634,5 @@ class ODLArgParserTesting(ODLTesting):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index fe25dfc..3c939bb 100644 (file)
@@ -19,8 +19,6 @@ from functest.utils.constants import CONST
 
 class OSRallyTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.nova_client = mock.Mock()
         self.neutron_client = mock.Mock()
@@ -388,4 +386,5 @@ class OSRallyTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 60e180c..58ec5a0 100644 (file)
@@ -17,11 +17,10 @@ from functest.utils.constants import CONST
 
 class OSRefstackClientTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-    _config = \
-        os.path.join(CONST.dir_functest_test, CONST.refstack_tempest_conf_path)
-    _testlist = \
-        os.path.join(CONST.dir_functest_test, CONST.refstack_defcore_list)
+    _config = os.path.join(CONST.dir_functest_test,
+                           CONST.refstack_tempest_conf_path)
+    _testlist = os.path.join(CONST.dir_functest_test,
+                             CONST.refstack_defcore_list)
 
     def setUp(self):
         self.defaultargs = {'config': self._config,
@@ -101,4 +100,5 @@ class OSRefstackClientTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 8ca5cc5..bdd1c7a 100644 (file)
@@ -16,8 +16,6 @@ from functest.utils.constants import CONST
 
 class OSTempestConfUtilsTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def test_create_tempest_resources_missing_network_dic(self):
         with mock.patch('functest.opnfv_tests.openstack.tempest.conf_utils.'
                         'os_utils.get_keystone_client',
@@ -371,4 +369,5 @@ class OSTempestConfUtilsTesting(unittest.TestCase):
             mexe.assert_called_once_with(cmd, error_msg=error_msg)
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index e05e5df..8476f9f 100644 (file)
@@ -18,8 +18,6 @@ from functest.utils.constants import CONST
 
 class OSTempestTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         with mock.patch('functest.opnfv_tests.openstack.tempest.tempest.'
                         'conf_utils.get_verifier_id',
@@ -248,4 +246,5 @@ class OSTempestTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index f8bd9a5..6bd47d2 100644 (file)
@@ -32,8 +32,6 @@ URL = 'file://{}'.format(FILE)
 class DecoratorsTesting(unittest.TestCase):
     # pylint: disable=missing-docstring
 
-    logging.disable(logging.CRITICAL)
-
     _case_name = 'base'
     _project_name = 'functest'
     _start_time = 1.0
@@ -131,5 +129,5 @@ class DecoratorsTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
-    logging.basicConfig()
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index d48e06f..70ebe25 100644 (file)
@@ -23,8 +23,6 @@ from functest.utils import functest_utils
 
 class FunctestUtilsTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.url = 'http://www.opnfv.org/'
         self.timeout = 5
@@ -603,4 +601,5 @@ class FunctestUtilsTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 1566953..fe7b50d 100644 (file)
@@ -15,8 +15,6 @@ from functest.tests.unit import test_utils
 
 class OSCleanTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def _get_instance(self, key):
         mock_obj = mock.Mock()
         attrs = {'id': 'id' + str(key), 'name': 'name' + str(key),
@@ -723,4 +721,5 @@ class OSCleanTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 52744db..d3f9399 100644 (file)
@@ -14,8 +14,6 @@ from functest.utils import openstack_snapshot
 
 class OSTackerTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def _get_instance(self, key):
         mock_obj = mock.Mock()
         attrs = {'id': 'id' + str(key), 'name': 'name' + str(key),
@@ -232,4 +230,5 @@ class OSTackerTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 37d77a1..3c0fc3d 100644 (file)
@@ -17,8 +17,6 @@ from functest.tests.unit import test_utils
 
 class OSTackerTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.tacker_client = mock.Mock()
         self.getresponse = {'vnfds': [{'id': 'test_id'}],
@@ -522,4 +520,5 @@ class OSTackerTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index a7df264..15b5405 100644 (file)
@@ -17,8 +17,6 @@ from functest.utils import openstack_utils
 
 class OSUtilsTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def _get_env_cred_dict(self, os_prefix=''):
         return {'OS_USERNAME': os_prefix + 'username',
                 'OS_PASSWORD': os_prefix + 'password',
@@ -1839,4 +1837,5 @@ class OSUtilsTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index 18bebfd..bc31c33 100644 (file)
@@ -16,8 +16,6 @@ from functest.opnfv_tests.vnf.ims import orchestrator_cloudify
 
 class ClearwaterTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.clearwater = clearwater.Clearwater()
         self.orchestrator = orchestrator_cloudify.Orchestrator('test_dir')
@@ -83,4 +81,5 @@ class ClearwaterTesting(unittest.TestCase):
                         'test_domain')
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index f47ea86..c3c04e1 100644 (file)
@@ -15,8 +15,6 @@ from functest.opnfv_tests.vnf.ims import cloudify_ims
 
 class CloudifyImsTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         with mock.patch('functest.opnfv_tests.vnf.ims.cloudify_ims.'
                         'os.makedirs'), \
@@ -491,4 +489,5 @@ class CloudifyImsTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index e283199..db5b18d 100644 (file)
@@ -15,8 +15,6 @@ from functest.opnfv_tests.vnf.ims import clearwater_ims_base as ims_base
 
 class ClearwaterOnBoardingBaseTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         with mock.patch('functest.opnfv_tests.vnf.ims.cloudify_ims.'
                         'os.makedirs'):
@@ -55,4 +53,5 @@ class ClearwaterOnBoardingBaseTesting(unittest.TestCase):
 
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)
index bf6d483..5706466 100644 (file)
@@ -16,8 +16,6 @@ from functest.opnfv_tests.vnf.ims import orchestrator_cloudify
 
 class ImsVnfTesting(unittest.TestCase):
 
-    logging.disable(logging.CRITICAL)
-
     def setUp(self):
         self.orchestrator = orchestrator_cloudify.Orchestrator('test_dir')
         self.bp = {'file_name': 'test_file',
@@ -174,4 +172,5 @@ class ImsVnfTesting(unittest.TestCase):
                         'test_subnet')
 
 if __name__ == "__main__":
+    logging.disable(logging.CRITICAL)
     unittest.main(verbosity=2)