MCPcopy
hub / github.com/celery/celery / reset_modules

Function reset_modules

t/unit/conftest.py:654–670  ·  t/unit/conftest.py::reset_modules

Remove modules from :data:`sys.modules` by name, and reset back again when the test/context returns. Example:: >>> with conftest.reset_modules('celery.result', 'celery.app.base'): ... pass

(*modules)

Source from the content-addressed store, hash-verified

652
653@contextmanager
654def reset_modules(*modules):
655 class="st">"""Remove modules from :data:`sys.modules` by name,
656 and reset back again when the test/context returns.
657 Example::
658 >>> with conftest.reset_modules(&class="cm">#x27;celery.resultclass="st">', 'celery.app.base'):
659 ... pass
660 class="st">"""
661 prev = {
662 k: sys.modules.pop(k) for k in modules if k in sys.modules
663 }
664
665 try:
666 for k in modules:
667 reload(import_module(k))
668 yield
669 finally:
670 sys.modules.update(prev)
671
672
673def get_logger_handlers(logger):

Callers

nothing calls this directly

Calls 2

popMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected