From e7387b470876e6f3a2f4b45ed47a7a061c9fdc99 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 1 Feb 2013 14:43:59 -0500 Subject: [PATCH] Add a test for fix of issue #17098 --- Lib/test/test_importlib/test_api.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_importlib/test_api.py b/Lib/test/test_importlib/test_api.py index ef6629a2254..3c3ba89d759 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,22 @@ 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)) + def test_main(): from test.support import run_unittest run_unittest(ImportModuleTests, FindLoaderTests, InvalidateCacheTests, - FrozenImportlibTests) + FrozenImportlibTests, + StartupTests) if __name__ == '__main__':