From: Vinay Sajip Date: Wed, 27 Apr 2011 10:31:14 +0000 (+0100) Subject: test_logging coverage improvements. X-Git-Tag: v3.3.0a1~2491 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5a35b06d5e5b6d12abcc1529cbb643fdcf0d35ab;p=python test_logging coverage improvements. --- diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index 42c23477f1..322b969091 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -713,10 +713,10 @@ class SysLogHandler(logging.Handler): self.socktype = socktype if isinstance(address, str): - self.unixsocket = 1 + self.unixsocket = True self._connect_unixsocket(address) else: - self.unixsocket = 0 + self.unixsocket = False self.socket = socket.socket(socket.AF_INET, socktype) if socktype == socket.SOCK_STREAM: self.socket.connect(address) diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index e35a614ab4..567d084f0b 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -508,8 +508,50 @@ class HandlerTest(BaseTest): self.assertEqual(h.name, 'anothergeneric') self.assertRaises(NotImplementedError, h.emit, None) - def test_abc(self): - pass + def test_builtin_handlers(self): + # We can't actually *use* too many handlers in the tests, + # but we can try instantiating them with various options + if sys.platform in ('linux2', 'darwin'): + for existing in (True, False): + fd, fn = tempfile.mkstemp() + os.close(fd) + if not existing: + os.unlink(fn) + h = logging.handlers.WatchedFileHandler(fn, delay=True) + if existing: + self.assertNotEqual(h.dev, -1) + self.assertNotEqual(h.ino, -1) + else: + self.assertEqual(h.dev, -1) + self.assertEqual(h.ino, -1) + h.close() + if existing: + os.unlink(fn) + if sys.platform == 'darwin': + sockname = '/var/run/log' + else: + sockname = '/dev/log' + h = logging.handlers.SysLogHandler(sockname) + self.assertEqual(h.facility, h.LOG_USER) + self.assertTrue(h.unixsocket) + h.close() + h = logging.handlers.SMTPHandler('localhost', 'me', 'you', 'Log') + self.assertEqual(h.toaddrs, ['you']) + h.close() + for method in ('GET', 'POST', 'PUT'): + if method == 'PUT': + self.assertRaises(ValueError, logging.handlers.HTTPHandler, + 'localhost', '/log', method) + else: + h = logging.handlers.HTTPHandler('localhost', '/log', method) + h.close() + h = logging.handlers.BufferingHandler(0) + r = logging.makeLogRecord({}) + self.assertTrue(h.shouldFlush(r)) + h.close() + h = logging.handlers.BufferingHandler(1) + self.assertFalse(h.shouldFlush(r)) + h.close() class BadStream(object): def write(self, data):