summaryrefslogtreecommitdiffstats
path: root/Tools/Scripts/webkitpy/common/system/logutils_unittest.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Scripts/webkitpy/common/system/logutils_unittest.py')
-rw-r--r--Tools/Scripts/webkitpy/common/system/logutils_unittest.py158
1 files changed, 0 insertions, 158 deletions
diff --git a/Tools/Scripts/webkitpy/common/system/logutils_unittest.py b/Tools/Scripts/webkitpy/common/system/logutils_unittest.py
deleted file mode 100644
index 252ebf4cc..000000000
--- a/Tools/Scripts/webkitpy/common/system/logutils_unittest.py
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright (C) 2010 Chris Jerdonek (cjerdonek@webkit.org)
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-"""Unit tests for logutils.py."""
-
-import logging
-import os
-import unittest2 as unittest
-
-from webkitpy.common.system.logtesting import LogTesting
-from webkitpy.common.system.logtesting import TestLogStream
-from webkitpy.common.system import logutils
-
-
-class GetLoggerTest(unittest.TestCase):
-
- """Tests get_logger()."""
-
- def test_get_logger_in_webkitpy(self):
- logger = logutils.get_logger(__file__)
- self.assertEqual(logger.name, "webkitpy.common.system.logutils_unittest")
-
- def test_get_logger_not_in_webkitpy(self):
- # Temporarily change the working directory so that we
- # can test get_logger() for a path outside of webkitpy.
- working_directory = os.getcwd()
- root_dir = "/"
- os.chdir(root_dir)
-
- logger = logutils.get_logger("/Tools/Scripts/test-webkitpy")
- self.assertEqual(logger.name, "test-webkitpy")
-
- logger = logutils.get_logger("/Tools/Scripts/test-webkitpy.py")
- self.assertEqual(logger.name, "test-webkitpy")
-
- os.chdir(working_directory)
-
-
-class ConfigureLoggingTestBase(unittest.TestCase):
-
- """Base class for configure_logging() unit tests."""
-
- def _logging_level(self):
- raise Exception("Not implemented.")
-
- def setUp(self):
- log_stream = TestLogStream(self)
-
- # Use a logger other than the root logger or one prefixed with
- # "webkitpy." so as not to conflict with test-webkitpy logging.
- logger = logging.getLogger("unittest")
-
- # Configure the test logger not to pass messages along to the
- # root logger. This prevents test messages from being
- # propagated to loggers used by test-webkitpy logging (e.g.
- # the root logger).
- logger.propagate = False
-
- logging_level = self._logging_level()
- self._handlers = logutils.configure_logging(logging_level=logging_level,
- logger=logger,
- stream=log_stream)
- self._log = logger
- self._log_stream = log_stream
-
- def tearDown(self):
- """Reset logging to its original state.
-
- This method ensures that the logging configuration set up
- for a unit test does not affect logging in other unit tests.
-
- """
- logger = self._log
- for handler in self._handlers:
- logger.removeHandler(handler)
-
- def _assert_log_messages(self, messages):
- """Assert that the logged messages equal the given messages."""
- self._log_stream.assertMessages(messages)
-
-
-class ConfigureLoggingTest(ConfigureLoggingTestBase):
-
- """Tests configure_logging() with the default logging level."""
-
- def _logging_level(self):
- return None
-
- def test_info_message(self):
- self._log.info("test message")
- self._assert_log_messages(["test message\n"])
-
- def test_debug_message(self):
- self._log.debug("test message")
- self._assert_log_messages([])
-
- def test_below_threshold_message(self):
- # We test the boundary case of a logging level equal to 19.
- # In practice, we will probably only be calling log.debug(),
- # which corresponds to a logging level of 10.
- level = logging.INFO - 1 # Equals 19.
- self._log.log(level, "test message")
- self._assert_log_messages([])
-
- def test_two_messages(self):
- self._log.info("message1")
- self._log.info("message2")
- self._assert_log_messages(["message1\n",
- "message2\n"])
-
-
-class ConfigureLoggingVerboseTest(ConfigureLoggingTestBase):
- def _logging_level(self):
- return logging.DEBUG
-
- def test_info_message(self):
- self._log.info("test message")
- self._assert_log_messages(["unittest: [INFO] test message\n"])
-
- def test_debug_message(self):
- self._log.debug("test message")
- self._assert_log_messages(["unittest: [DEBUG] test message\n"])
-
-class ConfigureLoggingCustomLevelTest(ConfigureLoggingTestBase):
-
- """Tests configure_logging() with a custom logging level."""
-
- _level = 36
-
- def _logging_level(self):
- return self._level
-
- def test_logged_message(self):
- self._log.log(self._level, "test message")
- self._assert_log_messages(["test message\n"])
-
- def test_below_threshold_message(self):
- self._log.log(self._level - 1, "test message")
- self._assert_log_messages([])