@@ -4300,8 +4300,6 @@ def test_formatting(self):
43004300 self .assertEqual (formatted_msg , log_record .msg )
43014301 self .assertEqual (formatted_msg , log_record .message )
43024302
4303- @unittest .skipUnless (hasattr (logging .handlers , 'QueueListener' ),
4304- 'logging.handlers.QueueListener required for this test' )
43054303 def test_queue_listener (self ):
43064304 handler = TestHandler (support .Matcher ())
43074305 listener = logging .handlers .QueueListener (self .queue , handler )
@@ -4336,8 +4334,18 @@ def test_queue_listener(self):
43364334 self .assertTrue (handler .matches (levelno = logging .CRITICAL , message = '6' ))
43374335 handler .close ()
43384336
4339- @unittest .skipUnless (hasattr (logging .handlers , 'QueueListener' ),
4340- 'logging.handlers.QueueListener required for this test' )
4337+ # doesn't hurt to call stop() more than once.
4338+ listener .stop ()
4339+ self .assertIsNone (listener ._thread )
4340+
4341+ def test_queue_listener_multi_start (self ):
4342+ handler = TestHandler (support .Matcher ())
4343+ listener = logging .handlers .QueueListener (self .queue , handler )
4344+ listener .start ()
4345+ self .assertRaises (RuntimeError , listener .start )
4346+ listener .stop ()
4347+ self .assertIsNone (listener ._thread )
4348+
43414349 def test_queue_listener_with_StreamHandler (self ):
43424350 # Test that traceback and stack-info only appends once (bpo-34334, bpo-46755).
43434351 listener = logging .handlers .QueueListener (self .queue , self .root_hdlr )
@@ -4352,8 +4360,6 @@ def test_queue_listener_with_StreamHandler(self):
43524360 self .assertEqual (self .stream .getvalue ().strip ().count ('Traceback' ), 1 )
43534361 self .assertEqual (self .stream .getvalue ().strip ().count ('Stack' ), 1 )
43544362
4355- @unittest .skipUnless (hasattr (logging .handlers , 'QueueListener' ),
4356- 'logging.handlers.QueueListener required for this test' )
43574363 def test_queue_listener_with_multiple_handlers (self ):
43584364 # Test that queue handler format doesn't affect other handler formats (bpo-35726).
43594365 self .que_hdlr .setFormatter (self .root_formatter )
0 commit comments