Remove Feature logger 91/57891/3 0.42
authorPanagiotis Karalis <pkaralis@intracom-telecom.com>
Fri, 25 May 2018 09:27:12 +0000 (12:27 +0300)
committerCédric Ollivier <cedric.ollivier@orange.com>
Tue, 29 May 2018 07:17:36 +0000 (09:17 +0200)
This class atttribute is removed as it's quite useless (it forces one
module per project). All messages are now printed to xtesting.log
whatever the namespace and all warnings are printed in console.

Co-Authored-By: Cédric Ollivier <cedric.ollivier@orange.com>
Change-Id: I6860eaf427093ea21b3bd78650bec7939e947b2d
Signed-off-by: Panagiotis Karalis <pkaralis@intracom-telecom.com>
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
xtesting/ci/logging.ini
xtesting/core/feature.py
xtesting/tests/unit/core/test_feature.py

index fc011ad..5cb5e4b 100644 (file)
@@ -1,15 +1,15 @@
 [loggers]
-keys=root,xtesting,ci,core,energy,utils
+keys=root,xtesting,ci,core
 
 [handlers]
-keys=console,wconsole,file,null
+keys=console,wconsole,file
 
 [formatters]
 keys=standard
 
 [logger_root]
 level=NOTSET
-handlers=null
+handlers=wconsole,file
 
 [logger_xtesting]
 level=NOTSET
@@ -26,22 +26,6 @@ level=NOTSET
 handlers=console
 qualname=xtesting.core
 
-[logger_energy]
-level=NOTSET
-handlers=wconsole
-qualname=xtesting.energy
-
-[logger_utils]
-level=NOTSET
-handlers=wconsole
-qualname=xtesting.utils
-
-[handler_null]
-class=NullHandler
-level=NOTSET
-formatter=standard
-args=()
-
 [handler_console]
 class=StreamHandler
 level=INFO
index ed053e0..932e023 100644 (file)
@@ -27,34 +27,6 @@ class Feature(testcase.TestCase):
     """Base model for single feature."""
 
     __logger = logging.getLogger(__name__)
-    dir_results = "/var/lib/xtesting/results"
-
-    def __init__(self, **kwargs):
-        super(Feature, self).__init__(**kwargs)
-        self.result_file = "{}/{}.log".format(self.dir_results, self.case_name)
-        try:
-            module = kwargs['run']['module']
-            self.logger = logging.getLogger(module)
-        except KeyError:
-            self.__logger.warning(
-                "Cannot get module name %s. Using %s as fallback",
-                kwargs, self.case_name)
-            self.logger = logging.getLogger(self.case_name)
-        Feature.configure_logger(self.logger, self.result_file)
-
-    @staticmethod
-    def configure_logger(logger, result_file):
-        """Configure the logger to print in result_file."""
-        handler = logging.StreamHandler()
-        handler.setLevel(logging.WARN)
-        logger.addHandler(handler)
-        handler = logging.FileHandler(result_file)
-        handler.setLevel(logging.DEBUG)
-        logger.addHandler(handler)
-        formatter = logging.Formatter(
-            '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
-        handler.setFormatter(formatter)
-        logger.addHandler(handler)
 
     def execute(self, **kwargs):
         """Execute the Python method.
@@ -104,7 +76,6 @@ class Feature(testcase.TestCase):
                 self.result = 100
         except Exception:  # pylint: disable=broad-except
             self.__logger.exception("%s FAILED", self.project_name)
-        self.__logger.info("Test result is stored in '%s'", self.result_file)
         self.stop_time = time.time()
         return exit_code
 
@@ -114,6 +85,11 @@ class BashFeature(Feature):
 
     __logger = logging.getLogger(__name__)
 
+    def __init__(self, **kwargs):
+        super(BashFeature, self).__init__(**kwargs)
+        dir_results = "/var/lib/xtesting/results"
+        self.result_file = "{}/{}.log".format(dir_results, self.case_name)
+
     def execute(self, **kwargs):
         """Execute the cmd passed as arg
 
@@ -131,6 +107,8 @@ class BashFeature(Feature):
                 proc = subprocess.Popen(cmd.split(), stdout=f_stdout,
                                         stderr=subprocess.STDOUT)
             ret = proc.wait()
+            self.__logger.info(
+                "Test result is stored in '%s'", self.result_file)
             if ret != 0:
                 self.__logger.error("Execute command: %s failed", cmd)
         except KeyError:
index 3d3b66d..72bc488 100644 (file)
@@ -38,19 +38,6 @@ class FeatureTestingBase(unittest.TestCase):
         self.assertEqual(self.feature.start_time, 1)
         self.assertEqual(self.feature.stop_time, 2)
 
-    def test_logger_module_ko(self):
-        with mock.patch('six.moves.builtins.open'):
-            self.feature = feature.Feature(
-                project_name=self._project_name, case_name=self._case_name)
-            self.assertEqual(self.feature.logger.name, self._case_name)
-
-    def test_logger_module(self):
-        with mock.patch('six.moves.builtins.open'):
-            self.feature = feature.Feature(
-                project_name=self._project_name, case_name=self._case_name,
-                run={'module': 'bar'})
-            self.assertEqual(self.feature.logger.name, 'bar')
-
 
 class FeatureTesting(FeatureTestingBase):