Skip to content

Commit 1b490e6

Browse files
committed
Failing test: lazy_imports=none or PYTHON_LAZY_IMPORTS=none should override __lazy_modules__
1 parent 07a555d commit 1b490e6

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

Lib/test/test_lazy_import/__init__.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,6 +1088,49 @@ def test_env_var_lazy_imports_none_disables_all_lazy(self):
10881088
self.assertEqual(result.returncode, 0, f"stderr: {result.stderr}")
10891089
self.assertIn("EAGER", result.stdout)
10901090

1091+
def test_cli_lazy_imports_none_disables_dunder_lazy_modules(self):
1092+
"""-X lazy_imports=none should override __lazy_modules__."""
1093+
code = textwrap.dedent("""
1094+
import sys
1095+
__lazy_modules__ = ["json"]
1096+
import json
1097+
if 'json' in sys.modules:
1098+
print("EAGER")
1099+
else:
1100+
print("LAZY")
1101+
""")
1102+
result = subprocess.run(
1103+
[sys.executable, "-X", "lazy_imports=none", "-c", code],
1104+
capture_output=True,
1105+
text=True,
1106+
)
1107+
self.assertEqual(result.returncode, 0, f"stderr: {result.stderr}")
1108+
self.assertIn("EAGER", result.stdout)
1109+
1110+
def test_env_var_lazy_imports_none_disables_dunder_lazy_modules(self):
1111+
"""PYTHON_LAZY_IMPORTS=none should override __lazy_modules__."""
1112+
code = textwrap.dedent("""
1113+
import sys
1114+
__lazy_modules__ = ["json"]
1115+
import json
1116+
if 'json' in sys.modules:
1117+
print("EAGER")
1118+
else:
1119+
print("LAZY")
1120+
""")
1121+
import os
1122+
1123+
env = os.environ.copy()
1124+
env["PYTHON_LAZY_IMPORTS"] = "none"
1125+
result = subprocess.run(
1126+
[sys.executable, "-c", code],
1127+
capture_output=True,
1128+
text=True,
1129+
env=env,
1130+
)
1131+
self.assertEqual(result.returncode, 0, f"stderr: {result.stderr}")
1132+
self.assertIn("EAGER", result.stdout)
1133+
10911134
def test_cli_overrides_env_var(self):
10921135
"""Command-line option should take precedence over environment variable."""
10931136
# PEP 810: -X lazy_imports takes precedence over PYTHON_LAZY_IMPORTS

0 commit comments

Comments
 (0)