MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_caching

Method test_caching

Lib/test/test_logging.py:6124–6178  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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
6181class BaseFileTest(BaseTest):

Callers

nothing calls this directly

Calls 8

getLoggerMethod · 0.80
assertTrueMethod · 0.80
assertFalseMethod · 0.80
setLevelMethod · 0.45
assertEqualMethod · 0.45
getEffectiveLevelMethod · 0.45
isEnabledForMethod · 0.45
disableMethod · 0.45

Tested by

no test coverage detected