(self)
| 6122 | self.assertIs(unpickled, logger) |
| 6123 | |
| 6124 | def test_caching(self): |
| 6125 | root = self.root_logger |
| 6126 | logger1 = logging.getLogger("abc") |
| 6127 | logger2 = logging.getLogger("abc.def") |
| 6128 | |
| 6129 | # Set root logger level and ensure cache is empty |
| 6130 | root.setLevel(logging.ERROR) |
| 6131 | self.assertEqual(logger2.getEffectiveLevel(), logging.ERROR) |
| 6132 | self.assertEqual(logger2._cache, {}) |
| 6133 | |
| 6134 | # Ensure cache is populated and calls are consistent |
| 6135 | self.assertTrue(logger2.isEnabledFor(logging.ERROR)) |
| 6136 | self.assertFalse(logger2.isEnabledFor(logging.DEBUG)) |
| 6137 | self.assertEqual(logger2._cache, {logging.ERROR: True, logging.DEBUG: False}) |
| 6138 | self.assertEqual(root._cache, {}) |
| 6139 | self.assertTrue(logger2.isEnabledFor(logging.ERROR)) |
| 6140 | |
| 6141 | # Ensure root cache gets populated |
| 6142 | self.assertEqual(root._cache, {}) |
| 6143 | self.assertTrue(root.isEnabledFor(logging.ERROR)) |
| 6144 | self.assertEqual(root._cache, {logging.ERROR: True}) |
| 6145 | |
| 6146 | # Set parent logger level and ensure caches are emptied |
| 6147 | logger1.setLevel(logging.CRITICAL) |
| 6148 | self.assertEqual(logger2.getEffectiveLevel(), logging.CRITICAL) |
| 6149 | self.assertEqual(logger2._cache, {}) |
| 6150 | |
| 6151 | # Ensure logger2 uses parent logger's effective level |
| 6152 | self.assertFalse(logger2.isEnabledFor(logging.ERROR)) |
| 6153 | |
| 6154 | # Set level to NOTSET and ensure caches are empty |
| 6155 | logger2.setLevel(logging.NOTSET) |
| 6156 | self.assertEqual(logger2.getEffectiveLevel(), logging.CRITICAL) |
| 6157 | self.assertEqual(logger2._cache, {}) |
| 6158 | self.assertEqual(logger1._cache, {}) |
| 6159 | self.assertEqual(root._cache, {}) |
| 6160 | |
| 6161 | # Verify logger2 follows parent and not root |
| 6162 | self.assertFalse(logger2.isEnabledFor(logging.ERROR)) |
| 6163 | self.assertTrue(logger2.isEnabledFor(logging.CRITICAL)) |
| 6164 | self.assertFalse(logger1.isEnabledFor(logging.ERROR)) |
| 6165 | self.assertTrue(logger1.isEnabledFor(logging.CRITICAL)) |
| 6166 | self.assertTrue(root.isEnabledFor(logging.ERROR)) |
| 6167 | |
| 6168 | # Disable logging in manager and ensure caches are clear |
| 6169 | logging.disable() |
| 6170 | self.assertEqual(logger2.getEffectiveLevel(), logging.CRITICAL) |
| 6171 | self.assertEqual(logger2._cache, {}) |
| 6172 | self.assertEqual(logger1._cache, {}) |
| 6173 | self.assertEqual(root._cache, {}) |
| 6174 | |
| 6175 | # Ensure no loggers are enabled |
| 6176 | self.assertFalse(logger1.isEnabledFor(logging.CRITICAL)) |
| 6177 | self.assertFalse(logger2.isEnabledFor(logging.CRITICAL)) |
| 6178 | self.assertFalse(root.isEnabledFor(logging.CRITICAL)) |
| 6179 | |
| 6180 | |
| 6181 | class BaseFileTest(BaseTest): |
nothing calls this directly
no test coverage detected