@@ -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