MCPcopy Create free account
hub / github.com/pytest-dev/pytest / test_preserve_modules

Method test_preserve_modules

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

Source from the content-addressed store, hash-verified

346 assert sys.modules == original
347
348 def test_preserve_modules(self, monkeypatch: MonkeyPatch) -> None:
349 key = [self.key + str(i) for i in range(3)]
350 assert not any(k in sys.modules for k in key)
351 for i, k in enumerate(key):
352 mod = ModuleType("something" + str(i))
353 monkeypatch.setitem(sys.modules, k, mod)
354 original = dict(sys.modules)
355
356 def preserve(name):
357 return name in (key[0], key[1], "some-other-key")
358
359 snapshot = SysModulesSnapshot(preserve=preserve)
360 sys.modules[key[0]] = original[key[0]] = ModuleType("something else0")
361 sys.modules[key[1]] = original[key[1]] = ModuleType("something else1")
362 sys.modules[key[2]] = ModuleType("something else2")
363 snapshot.restore()
364 assert sys.modules == original
365
366 def test_preserve_container(self, monkeypatch: MonkeyPatch) -> None:
367 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