summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_importlib/test_api.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/Lib/test/test_importlib/test_api.py b/Lib/test/test_importlib/test_api.py
index ef6629a..5d63d85 100644
--- a/Lib/test/test_importlib/test_api.py
+++ b/Lib/test/test_importlib/test_api.py
@@ -4,6 +4,7 @@ import importlib
from importlib import machinery
import sys
from test import support
+import types
import unittest
@@ -175,12 +176,28 @@ class FrozenImportlibTests(unittest.TestCase):
machinery.FrozenImporter))
+class StartupTests(unittest.TestCase):
+
+ def test_everyone_has___loader__(self):
+ # Issue #17098: all modules should have __loader__ defined.
+ for name, module in sys.modules.items():
+ if isinstance(module, types.ModuleType):
+ self.assertTrue(hasattr(module, '__loader__'),
+ '{!r} lacks a __loader__ attribute'.format(name))
+ if name in sys.builtin_module_names:
+ self.assertEqual(importlib.machinery.BuiltinImporter,
+ module.__loader__)
+ elif imp.is_frozen(name):
+ self.assertEqual(importlib.machinery.FrozenImporter,
+ module.__loader__)
+
def test_main():
from test.support import run_unittest
run_unittest(ImportModuleTests,
FindLoaderTests,
InvalidateCacheTests,
- FrozenImportlibTests)
+ FrozenImportlibTests,
+ StartupTests)
if __name__ == '__main__':