Commit 9de80ac1 authored by Brett Cannon's avatar Brett Cannon

pyexpat/xml.parsers.expat create their errors and model modules from

scratch. This means they do not set __loader__ by default. This is
acceptable under importlib/PEP 302 definitions, so relax the test that
was trying to apply this universally.
parent 7fc972a2
...@@ -182,6 +182,10 @@ class StartupTests(unittest.TestCase): ...@@ -182,6 +182,10 @@ class StartupTests(unittest.TestCase):
# Issue #17098: all modules should have __loader__ defined. # Issue #17098: all modules should have __loader__ defined.
for name, module in sys.modules.items(): for name, module in sys.modules.items():
if isinstance(module, types.ModuleType): if isinstance(module, types.ModuleType):
# pyexpat/xml.parsers.expat have submodules that it creates
# by hand and do not set __loader__, which is acceptable.
if 'expat' in name:
continue
self.assertTrue(hasattr(module, '__loader__'), self.assertTrue(hasattr(module, '__loader__'),
'{!r} lacks a __loader__ attribute'.format(name)) '{!r} lacks a __loader__ attribute'.format(name))
if name in sys.builtin_module_names: if name in sys.builtin_module_names:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment