bpo-35726: Add test for QueueHandler with multiple handlers (GH-11659) · python/cpython@2dad960

Original file line numberDiff line numberDiff line change

@@ -3505,6 +3505,19 @@ def test_queue_listener_with_StreamHandler(self):

35053505

listener.stop()

35063506

self.assertEqual(self.stream.getvalue().strip().count('Traceback'), 1)

35073507
3508+

@unittest.skipUnless(hasattr(logging.handlers, 'QueueListener'),

3509+

'logging.handlers.QueueListener required for this test')

3510+

def test_queue_listener_with_multiple_handlers(self):

3511+

# Test that queue handler format doesn't affect other handler formats (bpo-35726).

3512+

self.que_hdlr.setFormatter(self.root_formatter)

3513+

self.que_logger.addHandler(self.root_hdlr)

3514+
3515+

listener = logging.handlers.QueueListener(self.queue, self.que_hdlr)

3516+

listener.start()

3517+

self.que_logger.error("error")

3518+

listener.stop()

3519+

self.assertEqual(self.stream.getvalue().strip(), "que -> ERROR: error")

3520+
35083521

if hasattr(logging.handlers, 'QueueListener'):

35093522

import multiprocessing

35103523

from unittest.mock import patch