Skip to content

Commit bc9b9d4

Browse files
gh-141615: Check stdin instead of stdout for use_rawinput in pdb (#141616)
1 parent e5adaaf commit bc9b9d4

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

Lib/pdb.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,8 @@ def __init__(self, completekey='tab', stdin=None, stdout=None, skip=None,
346346
bdb.Bdb.__init__(self, skip=skip, backend=backend if backend else get_default_backend())
347347
cmd.Cmd.__init__(self, completekey, stdin, stdout)
348348
sys.audit("pdb.Pdb")
349-
if stdout:
350-
self.use_rawinput = 0
349+
if stdin:
350+
self.use_rawinput = False
351351
self.prompt = '(Pdb) '
352352
self.aliases = {}
353353
self.displaying = {}

Lib/test/test_pdb.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4744,6 +4744,19 @@ def test_readline_not_imported(self):
47444744
self.assertNotIn("readline imported", stdout)
47454745
self.assertEqual(stderr, "")
47464746

4747+
def test_alternate_stdin(self):
4748+
script = textwrap.dedent("""
4749+
import pdb
4750+
import io
4751+
4752+
input_data = io.StringIO("p 40 + 2\\nc\\n")
4753+
pdb.Pdb(stdin=input_data).set_trace()
4754+
""")
4755+
commands = ""
4756+
stdout, stderr = self._run_script(script, commands)
4757+
self.assertIn("42", stdout)
4758+
self.assertEqual(stderr, "")
4759+
47474760

47484761
@support.force_colorized_test_class
47494762
class PdbTestColorize(unittest.TestCase):
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Check ``stdin`` instead of ``stdout`` for ``use_rawinput`` in :mod:`pdb`.

0 commit comments

Comments
 (0)