MCPcopy
hub / github.com/pytest-dev/pytest / test_preserve_modules

Method test_preserve_modules

testing/test_pytester.py:339–355  ·  view source on GitHub ↗
(self, monkeypatch: MonkeyPatch)

Source from the content-addressed store, hash-verified

337 assert sys.modules == original
338
339 def test_preserve_modules(self, monkeypatch: MonkeyPatch) -> None:
340 key = [self.key + str(i) for i in range(3)]
341 assert not any(k in sys.modules for k in key)
342 for i, k in enumerate(key):
343 mod = ModuleType("something" + str(i))
344 monkeypatch.setitem(sys.modules, k, mod)
345 original = dict(sys.modules)
346
347 def preserve(name):
348 return name in (key[0], key[1], "some-other-key")
349
350 snapshot = SysModulesSnapshot(preserve=preserve)
351 sys.modules[key[0]] = original[key[0]] = ModuleType("something else0")
352 sys.modules[key[1]] = original[key[1]] = ModuleType("something else1")
353 sys.modules[key[2]] = ModuleType("something else2")
354 snapshot.restore()
355 assert sys.modules == original
356
357 def test_preserve_container(self, monkeypatch: MonkeyPatch) -> None:
358 original = dict(sys.modules)

Callers

nothing calls this directly

Calls 3

restoreMethod · 0.95
SysModulesSnapshotClass · 0.90
setitemMethod · 0.80

Tested by

no test coverage detected