@@ -4300,8 +4300,6 @@ def test_formatting(self):
4300
4300
self .assertEqual (formatted_msg , log_record .msg )
4301
4301
self .assertEqual (formatted_msg , log_record .message )
4302
4302
4303
- @unittest .skipUnless (hasattr (logging .handlers , 'QueueListener' ),
4304
- 'logging.handlers.QueueListener required for this test' )
4305
4303
def test_queue_listener (self ):
4306
4304
handler = TestHandler (support .Matcher ())
4307
4305
listener = logging .handlers .QueueListener (self .queue , handler )
@@ -4336,8 +4334,18 @@ def test_queue_listener(self):
4336
4334
self .assertTrue (handler .matches (levelno = logging .CRITICAL , message = '6' ))
4337
4335
handler .close ()
4338
4336
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
+
4341
4349
def test_queue_listener_with_StreamHandler (self ):
4342
4350
# Test that traceback and stack-info only appends once (bpo-34334, bpo-46755).
4343
4351
listener = logging .handlers .QueueListener (self .queue , self .root_hdlr )
@@ -4352,8 +4360,6 @@ def test_queue_listener_with_StreamHandler(self):
4352
4360
self .assertEqual (self .stream .getvalue ().strip ().count ('Traceback' ), 1 )
4353
4361
self .assertEqual (self .stream .getvalue ().strip ().count ('Stack' ), 1 )
4354
4362
4355
- @unittest .skipUnless (hasattr (logging .handlers , 'QueueListener' ),
4356
- 'logging.handlers.QueueListener required for this test' )
4357
4363
def test_queue_listener_with_multiple_handlers (self ):
4358
4364
# Test that queue handler format doesn't affect other handler formats (bpo-35726).
4359
4365
self .que_hdlr .setFormatter (self .root_formatter )
0 commit comments