Skip to content

Commit 593b356

Browse files
committed
gh-160936: Check cache state before and after in the new logging tests
1 parent b586b0b commit 593b356

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

‎Lib/test/test_logging.py‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6401,21 +6401,32 @@ def test_pickling(self):
64016401
def test_caching_unregistered_logger(self):
64026402
# A logger that is not in loggerDict must not keep a stale cache.
64036403
logger = logging.Logger("unregistered")
6404+
self.assertEqual(logger._cache, {})
64046405
logger.setLevel(logging.DEBUG)
6406+
self.assertEqual(logger._cache, {})
64056407
self.assertTrue(logger.isEnabledFor(logging.DEBUG))
6408+
self.assertEqual(logger._cache, {logging.DEBUG: True})
64066409
logger.setLevel(logging.ERROR)
64076410
self.assertEqual(logger._cache, {})
64086411
self.assertFalse(logger.isEnabledFor(logging.DEBUG))
6412+
self.assertEqual(logger._cache, {logging.DEBUG: False})
64096413

64106414
def test_clear_cache_empties_cached_loggers(self):
64116415
manager = logging.root.manager
64126416
registered = logging.getLogger("cached.registered")
64136417
unregistered = logging.Logger("cached.unregistered")
6418+
# Start from a known state: other tests may have cached results.
6419+
manager._clear_cache()
6420+
self.assertEqual(len(manager._cached_loggers), 0)
64146421
for logger in (registered, unregistered):
64156422
logger.isEnabledFor(logging.DEBUG)
64166423
self.assertIn(logger, manager._cached_loggers)
6424+
self.assertEqual(len(manager._cached_loggers), 2)
64176425
registered.setLevel(logging.INFO)
64186426
self.assertEqual(len(manager._cached_loggers), 0)
6427+
# A later cache miss starts tracking the logger again.
6428+
registered.isEnabledFor(logging.DEBUG)
6429+
self.assertEqual(list(manager._cached_loggers), [registered])
64196430

64206431
def test_caching(self):
64216432
root = self.root_logger

0 commit comments

Comments
 (0)