]> granicus.if.org Git - python/commitdiff
bpo-35726: Add test for QueueHandler with multiple handlers (GH-11659)
authorXtreak <tir.karthi@gmail.com>
Sun, 7 Apr 2019 07:51:27 +0000 (13:21 +0530)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>
Sun, 7 Apr 2019 07:51:27 +0000 (08:51 +0100)
Lib/test/test_logging.py

index b23ae24920b7482ab90b76b28cd82145a74a4d91..1805249e48bcc0727c2df6253c0930960c03f759 100644 (file)
@@ -3505,6 +3505,19 @@ class QueueHandlerTest(BaseTest):
         listener.stop()
         self.assertEqual(self.stream.getvalue().strip().count('Traceback'), 1)
 
+    @unittest.skipUnless(hasattr(logging.handlers, 'QueueListener'),
+                         'logging.handlers.QueueListener required for this test')
+    def test_queue_listener_with_multiple_handlers(self):
+        # Test that queue handler format doesn't affect other handler formats (bpo-35726).
+        self.que_hdlr.setFormatter(self.root_formatter)
+        self.que_logger.addHandler(self.root_hdlr)
+
+        listener = logging.handlers.QueueListener(self.queue, self.que_hdlr)
+        listener.start()
+        self.que_logger.error("error")
+        listener.stop()
+        self.assertEqual(self.stream.getvalue().strip(), "que -> ERROR: error")
+
 if hasattr(logging.handlers, 'QueueListener'):
     import multiprocessing
     from unittest.mock import patch