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

Function _require_loader

Lib/test/test_import/__init__.py:84–110  ·  view source on GitHub ↗
(module, loader, skip)

Source from the content-addressed store, hash-verified

82
83
84def _require_loader(module, loader, skip):
85 if isinstance(module, str):
86 module = __import__(module)
87
88 MODULE_KINDS = {
89 BuiltinImporter: 'built-in',
90 ExtensionFileLoader: 'extension',
91 AppleFrameworkLoader: 'framework extension',
92 FrozenImporter: 'frozen',
93 SourceFileLoader: 'pure Python',
94 }
95
96 expected = loader
97 assert isinstance(expected, type), expected
98 expected = MODULE_KINDS[expected]
99
100 actual = module.__spec__.loader
101 if not isinstance(actual, type):
102 actual = type(actual)
103 actual = MODULE_KINDS[actual]
104
105 if actual != expected:
106 err = f'expected module to be {expected}, got {module.__spec__}'
107 if skip:
108 raise unittest.SkipTest(err)
109 raise Exception(err)
110 return module
111
112def require_builtin(module, *, skip=False):
113 module = _require_loader(module, BuiltinImporter, skip)

Callers 4

require_builtinFunction · 0.85
require_extensionFunction · 0.85
require_frozenFunction · 0.85
require_pure_pythonFunction · 0.85

Calls 1

__import__Function · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…