mirror of
https://github.com/python/cpython.git
synced 2025-12-08 06:10:17 +00:00
Merge pull request #19 from DinoV/lazy_tests_dunder
This commit is contained in:
commit
b743eb03d8
4 changed files with 43 additions and 0 deletions
|
|
@ -2840,6 +2840,33 @@ def test_lazy_import_pkg_cross_import(self):
|
|||
self.assertEqual(type(g["x"]), int)
|
||||
self.assertEqual(type(g["b"]), types.LazyImportType)
|
||||
|
||||
def test_dunder_lazy_import(self):
|
||||
try:
|
||||
import test.test_import.data.lazy_imports.dunder_lazy_import
|
||||
except ImportError as e:
|
||||
self.fail('lazy import failed')
|
||||
|
||||
self.assertFalse("test.test_import.data.lazy_imports.basic2" in sys.modules)
|
||||
|
||||
def test_dunder_lazy_import_used(self):
|
||||
try:
|
||||
import test.test_import.data.lazy_imports.dunder_lazy_import_used
|
||||
except ImportError as e:
|
||||
self.fail('lazy import failed')
|
||||
|
||||
self.assertTrue("test.test_import.data.lazy_imports.basic2" in sys.modules)
|
||||
|
||||
def test_dunder_lazy_import_builtins(self):
|
||||
"""__lazy_import__ uses modules __builtins__ to get __import__"""
|
||||
try:
|
||||
from test.test_import.data.lazy_imports import dunder_lazy_import_builtins
|
||||
except ImportError as e:
|
||||
self.fail('lazy import failed')
|
||||
|
||||
self.assertFalse("test.test_import.data.lazy_imports.basic2" in sys.modules)
|
||||
self.assertEqual(dunder_lazy_import_builtins.basic, 42)
|
||||
|
||||
|
||||
class TestSinglePhaseSnapshot(ModuleSnapshot):
|
||||
"""A representation of a single-phase init module for testing.
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
basic = __lazy_import__('test.test_import.data.lazy_imports.basic2')
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import sys
|
||||
|
||||
def myimport(*args):
|
||||
return sys.modules[__name__]
|
||||
|
||||
|
||||
new_globals = dict(globals())
|
||||
new_globals["__builtins__"] = {
|
||||
"__import__": myimport,
|
||||
}
|
||||
basic2 = 42
|
||||
basic = __lazy_import__("test.test_import.data.lazy_imports", fromlist="basic2", globals=new_globals)
|
||||
basic
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
basic = __lazy_import__('test.test_import.data.lazy_imports', fromlist="basic2")
|
||||
basic
|
||||
Loading…
Add table
Add a link
Reference in a new issue