Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(853)

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/common/system/logtesting.py

Issue 2372653004: Clean up comments and docstrings in webkitpy.common.system.logtesting. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Tools/Scripts/webkitpy/common/system/logtesting.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/logtesting.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/logtesting.py
index 9067a4c9b83a9b34b66095c7fe1dc9ed938b6b6f..842e7c0bea1eea1a19b49d35cbfe47fc2d7f5abd 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/common/system/logtesting.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/system/logtesting.py
@@ -35,7 +35,6 @@ import unittest
class TestLogStream(object):
-
"""Represents a file-like object for unit-testing logging.
This is meant for passing to the logging.StreamHandler constructor.
@@ -44,17 +43,16 @@ class TestLogStream(object):
"""
def __init__(self, test_case):
- """Create an instance.
+ """Creates an instance.
Args:
- test_case: A unittest.TestCase instance.
+ test_case: A unittest.TestCase instance.
"""
self._test_case = test_case
- self.messages = []
- """A list of log messages written to the stream."""
+ self.messages = [] # A list of log messages written to the stream.
# Python documentation says that any object passed to the StreamHandler
- # constructor should support write() and flush():
+ # constructor should support write() and flush().
#
# http://docs.python.org/library/logging.html#module-logging.handlers
@@ -65,51 +63,47 @@ class TestLogStream(object):
pass
def assertMessages(self, messages):
- """Assert that the given messages match the logged messages.
-
- messages: A list of log message strings.
- """
+ """Asserts that the given messages match the logged messages."""
self._test_case.assertEqual(messages, self.messages)
class LogTesting(object):
-
"""Supports end-to-end unit-testing of log messages.
- Sample usage:
+ Sample usage:
- class SampleTest(unittest.TestCase):
+ class SampleTest(unittest.TestCase):
- def setUp(self):
- self._log = LogTesting.setUp(self) # Turn logging on.
+ def setUp(self):
+ self._log = LogTesting.setUp(self) # Turn logging on.
- def tearDown(self):
- self._log.tearDown() # Turn off and reset logging.
+ def tearDown(self):
+ self._log.tearDown() # Turn off and reset logging.
- def test_logging_in_some_method(self):
- call_some_method() # Contains calls to _log.info(), etc.
+ def test_logging_in_some_method(self):
+ call_some_method() # Contains calls to _log.info(), etc.
- # Check the resulting log messages.
- self._log.assertMessages(["INFO: expected message #1",
- "WARNING: expected message #2"])
+ # Check the resulting log messages.
+ self._log.assertMessages(["INFO: expected message #1",
+ "WARNING: expected message #2"])
"""
def __init__(self, test_stream, handler):
- """Create an instance.
+ """Creates an instance.
- This method should never be called directly. Instances should
+ This method should never be called directly. Instances should
instead be created using the static setUp() method.
Args:
- test_stream: A TestLogStream instance.
- handler: The handler added to the logger.
+ test_stream: A TestLogStream instance.
+ handler: The handler added to the logger.
"""
self._test_stream = test_stream
self._handler = handler
@staticmethod
def _getLogger():
- """Return the logger being tested."""
+ """Returns the logger being tested."""
# It is possible we might want to return something other than
# the root logger in some special situation. For now, the
# root logger seems to suffice.
@@ -117,7 +111,7 @@ class LogTesting(object):
@staticmethod
def setUp(test_case, logging_level=logging.INFO):
- """Configure logging for unit testing.
+ """Configures logging for unit testing.
Configures the root logger to log to a testing log stream.
Only messages logged at or above the given level are logged
@@ -130,13 +124,13 @@ class LogTesting(object):
of a unittest.TestCase. See the docstring of this class
for more details.
- Returns:
- A LogTesting instance.
-
Args:
- test_case: A unittest.TestCase instance.
- logging_level: An integer logging level that is the minimum level
- of log messages you would like to test.
+ test_case: A unittest.TestCase instance.
+ logging_level: An integer logging level that is the minimum level
+ of log messages you would like to test.
+
+ Returns:
+ A LogTesting instance.
"""
stream = TestLogStream(test_case)
handler = logging.StreamHandler(stream)
@@ -160,60 +154,59 @@ class LogTesting(object):
logger.removeHandler(self._handler)
def messages(self):
- """Return the current list of log messages."""
+ """Returns the current list of log messages."""
return self._test_stream.messages
# FIXME: Add a clearMessages() method for cases where the caller
# deliberately doesn't want to assert every message.
- # We clear the log messages after asserting since they are no longer
- # needed after asserting. This serves two purposes: (1) it simplifies
- # the calling code when we want to check multiple logging calls in a
- # single test method, and (2) it lets us check in the tearDown() method
- # that there are no remaining log messages to be asserted.
- #
- # The latter ensures that no extra log messages are getting logged that
- # the caller might not be aware of or may have forgotten to check for.
- # This gets us a bit more mileage out of our tests without writing any
- # additional code.
def assertMessages(self, messages):
- """Assert the current array of log messages, and clear its contents.
+ """Asserts the current array of log messages, and clear its contents.
+
+ We clear the log messages after asserting since they are no longer
+ needed after asserting. This serves two purposes: (1) it simplifies
+ the calling code when we want to check multiple logging calls in a
+ single test method, and (2) it lets us check in the tearDown() method
+ that there are no remaining log messages to be asserted.
+
+ The latter ensures that no extra log messages are getting logged that
+ the caller might not be aware of or may have forgotten to check for.
+ This gets us a bit more mileage out of our tests without writing any
+ additional code.
+
+ We want to clear the array of messages even in the case of
+ an Exception (e.g. an AssertionError). Otherwise, another
+ AssertionError can occur in the tearDown() because the
+ array might not have gotten emptied.
Args:
- messages: A list of log message strings.
+ messages: A list of log message strings.
"""
try:
self._test_stream.assertMessages(messages)
finally:
- # We want to clear the array of messages even in the case of
- # an Exception (e.g. an AssertionError). Otherwise, another
- # AssertionError can occur in the tearDown() because the
- # array might not have gotten emptied.
self._test_stream.messages = []
-# This class needs to inherit from unittest.TestCase. Otherwise, the
-# setUp() and tearDown() methods will not get fired for test case classes
-# that inherit from this class -- even if the class inherits from *both*
-# unittest.TestCase and LoggingTestCase.
-#
-# FIXME: Rename this class to LoggingTestCaseBase to be sure that
-# the unittest module does not interpret this class as a unittest
-# test case itself.
class LoggingTestCase(unittest.TestCase):
"""Supports end-to-end unit-testing of log messages.
- Sample usage:
+ This class needs to inherit from unittest.TestCase. Otherwise, the
+ setUp() and tearDown() methods will not get fired for test case classes
+ that inherit from this class -- even if the class inherits from *both*
+ unittest.TestCase and LoggingTestCase.
- class SampleTest(LoggingTestCase):
+ Sample usage:
- def test_logging_in_some_method(self):
- call_some_method() # Contains calls to _log.info(), etc.
+ class SampleTest(LoggingTestCase):
- # Check the resulting log messages.
- self.assertLog(["INFO: expected message #1",
- "WARNING: expected message #2"])
+ def test_logging_in_some_method(self):
+ call_some_method() # Contains calls to _log.info(), etc.
+
+ # Check the resulting log messages.
+ self.assertLog(["INFO: expected message #1",
+ "WARNING: expected message #2"])
"""
def setUp(self):
@@ -229,13 +222,8 @@ class LoggingTestCase(unittest.TestCase):
# FIXME: Add a clearMessages() method for cases where the caller
# deliberately doesn't want to assert every message.
- # See the code comments preceding LogTesting.assertMessages() for
- # an explanation of why we clear the array of messages after
- # asserting its contents.
+ # See the docstring for LogTesting.assertMessages() for an explanation
+ # of why we clear the array of messages after asserting its contents.
def assertLog(self, messages):
- """Assert the current array of log messages, and clear its contents.
-
- Args:
- messages: A list of log message strings.
- """
+ """Asserts the current array of log messages, and clear its contents."""
self._log.assertMessages(messages)
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698