Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 53089c6

Browse files
committed
Issue #15210: Greatly simplify the test for supporting importlib
working without _frozen_importlib by moving to an import over a direct access in sys.modules.
1 parent 3bee1f1 commit 53089c6

2 files changed

Lines changed: 7 additions & 14 deletions

File tree

Lib/importlib/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import sys
77

88
try:
9-
_bootstrap = sys.modules['_frozen_importlib']
10-
except KeyError:
9+
import _frozen_importlib as _bootstrap
10+
except ImportError:
1111
from . import _bootstrap
1212
_bootstrap._setup(sys, imp)
1313
else:

Lib/importlib/test/test_api.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from . import util
22
import imp
33
import importlib
4+
from importlib import machinery
45
import sys
6+
from test import support
57
import unittest
68

79

@@ -164,18 +166,9 @@ class FrozenImportlibTests(unittest.TestCase):
164166

165167
def test_no_frozen_importlib(self):
166168
# Should be able to import w/o _frozen_importlib being defined.
167-
modules = {}
168-
for name in ('importlib', 'importlib.__init__', 'importlib._bootstrap',
169-
'_frozen_importlib'):
170-
try:
171-
modules[name] = sys.modules[name]
172-
del sys.modules[name]
173-
except KeyError:
174-
continue
175-
modules['_frozen_importlib'] = None
176-
import importlib
177-
for name, module in modules.items():
178-
sys.modules[name] = module
169+
module = support.import_fresh_module('importlib', blocked=['_frozen_importlib'])
170+
self.assertFalse(isinstance(module.__loader__,
171+
machinery.FrozenImporter))
179172

180173

181174
def test_main():

0 commit comments

Comments
 (0)