MCPcopy Index your code
hub / github.com/python/cpython / test_basic_reloaded

Method test_basic_reloaded

Lib/test/test_import/__init__.py:3068–3108  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3066 self.assertEqual(basic.initialized_count(), expected_init_count)
3067
3068 def test_basic_reloaded(self):
3069 # m_copy is copied into the existing module object.
3070 # Global state is not changed.
3071 self.maxDiff = None
3072
3073 for name in [
3074 self.NAME, # the "basic" module
3075 f'{self.NAME}_basic_wrapper', # the indirect variant
3076 f'{self.NAME}_basic_copy', # the direct variant
3077 ]:
3078 self.add_module_cleanup(name)
3079 with self.subTest(name):
3080 loaded = self.load(name)
3081 reloaded = self.re_load(name, loaded.module)
3082
3083 self.check_common(loaded)
3084 self.check_common(reloaded)
3085
3086 # Make sure the original __dict__ did not get replaced.
3087 self.assertEqual(id(loaded.module.__dict__),
3088 loaded.snapshot.ns_id)
3089 self.assertEqual(loaded.snapshot.ns.__dict__,
3090 loaded.module.__dict__)
3091
3092 self.assertEqual(reloaded.module.__spec__.name, reloaded.name)
3093 self.assertEqual(reloaded.module.__name__,
3094 reloaded.snapshot.ns.__name__)
3095
3096 self.assertIs(reloaded.module, loaded.module)
3097 self.assertIs(reloaded.module.__dict__, loaded.module.__dict__)
3098 # It only happens to be the same but that's good enough here.
3099 # We really just want to verify that the re-loaded attrs
3100 # didn't change.
3101 self.assertIs(reloaded.snapshot.lookedup,
3102 loaded.snapshot.lookedup)
3103 self.assertEqual(reloaded.snapshot.state_initialized,
3104 loaded.snapshot.state_initialized)
3105 self.assertEqual(reloaded.snapshot.init_count,
3106 loaded.snapshot.init_count)
3107
3108 self.assertIs(reloaded.snapshot.cached, reloaded.module)
3109
3110 def test_with_reinit_reloaded(self):
3111 # The module's m_init func is run again.

Callers

nothing calls this directly

Calls 8

add_module_cleanupMethod · 0.95
loadMethod · 0.95
re_loadMethod · 0.95
check_commonMethod · 0.95
idFunction · 0.85
subTestMethod · 0.45
assertEqualMethod · 0.45
assertIsMethod · 0.45

Tested by

no test coverage detected