Merge "Moves root logger instantiation to the runner."
This commit is contained in:
@@ -156,7 +156,9 @@ class memoized(object):
|
||||
self.__name__ = func.func_name
|
||||
|
||||
def __call__(self, *args):
|
||||
self._start_logging(cclogging.get_object_namespace(args[0]))
|
||||
log_name = "{0}.{1}".format(
|
||||
cclogging.get_object_namespace(args[0]), self.__name__)
|
||||
self._start_logging(log_name)
|
||||
if not isinstance(args, collections.Hashable):
|
||||
# uncacheable. a list, for instance.
|
||||
# better to not cache than blow up.
|
||||
@@ -181,12 +183,6 @@ class memoized(object):
|
||||
"""Return the function's docstring."""
|
||||
return self.func.__doc__
|
||||
|
||||
# Because the root log is initialized in the base test fixture, and because
|
||||
# datalist generators are run before that test fixture is initialized,
|
||||
# it is neccessary to add a log handler to the root logger so that logs
|
||||
# get logged. Once the root log handler initialization is moved
|
||||
# upstream of the base test fixture initialization, this code can be
|
||||
# removed.
|
||||
def _start_logging(self, log_file_name):
|
||||
setattr(self.func, '_log_handler', cclogging.setup_new_cchandler(
|
||||
log_file_name))
|
||||
|
@@ -24,7 +24,6 @@ import re
|
||||
import unittest
|
||||
|
||||
from cafe.drivers.base import FixtureReporter
|
||||
from cafe.common.reporting.cclogging import init_root_log_handler
|
||||
|
||||
|
||||
class BaseTestFixture(unittest.TestCase):
|
||||
@@ -75,8 +74,6 @@ class BaseTestFixture(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(BaseTestFixture, cls).setUpClass()
|
||||
# TODO: Move root log handler initialization to the runner!
|
||||
init_root_log_handler()
|
||||
cls._reporter = FixtureReporter(cls)
|
||||
cls.fixture_log = cls._reporter.logger.log
|
||||
cls._reporter.start()
|
||||
|
@@ -27,7 +27,7 @@ from inspect import isclass
|
||||
from multiprocessing import Process, Manager
|
||||
from re import search
|
||||
from traceback import print_exc
|
||||
|
||||
from cafe.common.reporting.cclogging import init_root_log_handler
|
||||
from cafe.common.reporting.cclogging import log_results
|
||||
from cafe.common.reporting.reporter import Reporter
|
||||
from cafe.configurator.managers import TestEnvManager
|
||||
@@ -673,6 +673,7 @@ class UnittestRunner(object):
|
||||
self.test_env.test_data_directory = (
|
||||
self.test_env.test_data_directory or self.cl_args.data_directory)
|
||||
self.test_env.finalize()
|
||||
init_root_log_handler()
|
||||
self.product = self.cl_args.product
|
||||
self.test_repo = (
|
||||
self.test_env.engine_config_interface.default_test_repo)
|
||||
|
@@ -134,7 +134,12 @@ class ConfigParserDataSource(DataSource):
|
||||
try:
|
||||
return self._data_source.get(self._section_name, item_name)
|
||||
except (ConfigParser.NoOptionError, ConfigParser.NoSectionError) as e:
|
||||
self._log.error(str(e))
|
||||
if default is None:
|
||||
self._log.error(str(e))
|
||||
else:
|
||||
msg = "{0}. Using default value '{1}' instead".format(
|
||||
str(e), default)
|
||||
self._log.warning(msg)
|
||||
return default
|
||||
|
||||
def get_raw(self, item_name, default=None):
|
||||
@@ -142,7 +147,12 @@ class ConfigParserDataSource(DataSource):
|
||||
return self._data_source.get(
|
||||
self._section_name, item_name, raw=True)
|
||||
except (ConfigParser.NoOptionError, ConfigParser.NoSectionError) as e:
|
||||
self._log.error(str(e))
|
||||
if default is None:
|
||||
self._log.error(str(e))
|
||||
else:
|
||||
msg = "{0}. Using default value '{1}' instead".format(
|
||||
str(e), default)
|
||||
self._log.warning(msg)
|
||||
return default
|
||||
|
||||
def get_boolean(self, item_name, default=None):
|
||||
@@ -150,7 +160,12 @@ class ConfigParserDataSource(DataSource):
|
||||
try:
|
||||
return self._data_source.getboolean(self._section_name, item_name)
|
||||
except (ConfigParser.NoOptionError, ConfigParser.NoSectionError) as e:
|
||||
self._log.error(str(e))
|
||||
if default is None:
|
||||
self._log.error(str(e))
|
||||
else:
|
||||
msg = "{0}. Using default value '{1}' instead".format(
|
||||
str(e), default)
|
||||
self._log.warning(msg)
|
||||
return default
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user