(self)
| 6264 | self.assertIs(unpickled, logger) |
| 6265 | |
| 6266 | def test_caching(self): |
| 6267 | root = self.root_logger |
| 6268 | logger1 = logging.getLogger("abc") |
| 6269 | logger2 = logging.getLogger("abc.def") |
| 6270 | |
| 6271 | # Set root logger level and ensure cache is empty |
| 6272 | root.setLevel(logging.ERROR) |
| 6273 | self.assertEqual(logger2.getEffectiveLevel(), logging.ERROR) |
| 6274 | self.assertEqual(logger2._cache, {}) |
| 6275 | |
| 6276 | # Ensure cache is populated and calls are consistent |
| 6277 | self.assertTrue(logger2.isEnabledFor(logging.ERROR)) |
| 6278 | self.assertFalse(logger2.isEnabledFor(logging.DEBUG)) |
| 6279 | self.assertEqual(logger2._cache, {logging.ERROR: True, logging.DEBUG: False}) |
| 6280 | self.assertEqual(root._cache, {}) |
| 6281 | self.assertTrue(logger2.isEnabledFor(logging.ERROR)) |
| 6282 | |
| 6283 | # Ensure root cache gets populated |
| 6284 | self.assertEqual(root._cache, {}) |
| 6285 | self.assertTrue(root.isEnabledFor(logging.ERROR)) |
| 6286 | self.assertEqual(root._cache, {logging.ERROR: True}) |
| 6287 | |
| 6288 | # Set parent logger level and ensure caches are emptied |
| 6289 | logger1.setLevel(logging.CRITICAL) |
| 6290 | self.assertEqual(logger2.getEffectiveLevel(), logging.CRITICAL) |
| 6291 | self.assertEqual(logger2._cache, {}) |
| 6292 | |
| 6293 | # Ensure logger2 uses parent logger's effective level |
| 6294 | self.assertFalse(logger2.isEnabledFor(logging.ERROR)) |
| 6295 | |
| 6296 | # Set level to NOTSET and ensure caches are empty |
| 6297 | logger2.setLevel(logging.NOTSET) |
| 6298 | self.assertEqual(logger2.getEffectiveLevel(), logging.CRITICAL) |
| 6299 | self.assertEqual(logger2._cache, {}) |
| 6300 | self.assertEqual(logger1._cache, {}) |
| 6301 | self.assertEqual(root._cache, {}) |
| 6302 | |
| 6303 | # Verify logger2 follows parent and not root |
| 6304 | self.assertFalse(logger2.isEnabledFor(logging.ERROR)) |
| 6305 | self.assertTrue(logger2.isEnabledFor(logging.CRITICAL)) |
| 6306 | self.assertFalse(logger1.isEnabledFor(logging.ERROR)) |
| 6307 | self.assertTrue(logger1.isEnabledFor(logging.CRITICAL)) |
| 6308 | self.assertTrue(root.isEnabledFor(logging.ERROR)) |
| 6309 | |
| 6310 | # Disable logging in manager and ensure caches are clear |
| 6311 | logging.disable() |
| 6312 | self.assertEqual(logger2.getEffectiveLevel(), logging.CRITICAL) |
| 6313 | self.assertEqual(logger2._cache, {}) |
| 6314 | self.assertEqual(logger1._cache, {}) |
| 6315 | self.assertEqual(root._cache, {}) |
| 6316 | |
| 6317 | # Ensure no loggers are enabled |
| 6318 | self.assertFalse(logger1.isEnabledFor(logging.CRITICAL)) |
| 6319 | self.assertFalse(logger2.isEnabledFor(logging.CRITICAL)) |
| 6320 | self.assertFalse(root.isEnabledFor(logging.CRITICAL)) |
| 6321 | |
| 6322 | |
| 6323 | class BaseFileTest(BaseTest): |
nothing calls this directly
no test coverage detected