summaryrefslogtreecommitdiff
path: root/unit_tests
diff options
context:
space:
mode:
authorSanteri Paavolainen <santeri.paavolainen@codento.com>2012-09-30 06:54:31 +0300
committerSanteri Paavolainen <santeri.paavolainen@codento.com>2012-09-30 06:54:31 +0300
commit511ad18ea343238053208313a411392380f1a12b (patch)
tree65144cb4cf8e59fad9859787aa62a53ed4d07adf /unit_tests
parent908b2cda43eff9ab7a5045b6f6dfe3a718fb9afd (diff)
downloadnose-511ad18ea343238053208313a411392380f1a12b.tar.gz
Format captured log records immediately to have consistent formatting of mutables.
This is a fix for https://github.com/nose-devs/nose/issues/561
Diffstat (limited to 'unit_tests')
-rw-r--r--unit_tests/test_logcapture_plugin.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/unit_tests/test_logcapture_plugin.py b/unit_tests/test_logcapture_plugin.py
index f53f233..63d1f8b 100644
--- a/unit_tests/test_logcapture_plugin.py
+++ b/unit_tests/test_logcapture_plugin.py
@@ -77,7 +77,24 @@ class TestLogCapturePlugin(object):
log.debug("Hello")
c.end()
eq_(1, len(c.handler.buffer))
- eq_("Hello", c.handler.buffer[0].msg)
+ eq_("foobar.something: DEBUG: Hello", c.handler.buffer[0])
+
+ def test_consistent_mutables(self):
+ c = LogCapture()
+ parser = OptionParser()
+ c.addOptions(parser)
+ c.start()
+ log = logging.getLogger("mutable")
+ mutable = { 'value': 1 }
+ log.debug("%r", mutable)
+ repr_1 = repr(mutable)
+ mutable['value'] = 2
+ log.debug("%r", mutable)
+ repr_2 = repr(mutable)
+ c.end()
+ records = c.formatLogRecords()
+ eq_("mutable: DEBUG: %s" % (repr_1,), records[0])
+ eq_("mutable: DEBUG: %s" % (repr_2,), records[1])
def test_loglevel(self):
c = LogCapture()
@@ -92,7 +109,7 @@ class TestLogCapturePlugin(object):
c.end()
records = c.formatLogRecords()
eq_(1, len(c.handler.buffer))
- eq_("Goodbye", c.handler.buffer[0].msg)
+ eq_("loglevel: INFO: Goodbye", c.handler.buffer[0])
eq_("loglevel: INFO: Goodbye", records[0])
def test_clears_all_existing_log_handlers(self):