gh-149173: Fix inverted PYTHON_BASIC_REPL environment check in _pyrepl_available() (#149174)

This commit is contained in:
Tan Long 2026-05-01 13:32:57 +08:00 committed by GitHub
parent c0e0640039
commit 8066db5753
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 13 additions and 1 deletions

View file

@ -376,7 +376,7 @@ def get_default_backend():
def _pyrepl_available():
"""return whether pdb should use _pyrepl for input"""
if not os.getenv("PYTHON_BASIC_REPL"):
if os.getenv("PYTHON_BASIC_REPL"):
CAN_USE_PYREPL = False
else:
try:

View file

@ -4753,6 +4753,16 @@ def foo(self):
stdout, stderr = self.run_pdb_script(script, commands)
self.assertIn("The specified object 'C.foo' is not a function", stdout)
def test_pyrepl_available(self):
with patch.dict(os.environ, {"PYTHON_BASIC_REPL": "1"}):
self.assertFalse(pdb._pyrepl_available())
with patch.dict(os.environ, {}, clear=True):
mod = types.ModuleType("_pyrepl.main")
mod.CAN_USE_PYREPL = True
with patch.dict("sys.modules", {"_pyrepl.main": mod}):
self.assertTrue(pdb._pyrepl_available())
class ChecklineTests(unittest.TestCase):
def setUp(self):

View file

@ -0,0 +1,2 @@
Fix inverted :envvar:`PYTHON_BASIC_REPL` environment check in
``pdb._pyrepl_available``.