From 05e7505e390f6df18ad5dd8e88f518f37d9882e6 Mon Sep 17 00:00:00 2001 From: Irit Katriel Date: Fri, 2 Apr 2021 12:16:55 +0100 Subject: [PATCH] [3.9] bpo-26053: Fix args echoed by pdb run command (GH-25149) * bpo-26053: Fix args echoed by pdb run command (GH-22033) (cherry picked from commit 652bfdee9495dca241d48278742fe035b7a82bdb) * bpo-26053: Fix test_pdb.test_issue26053() (GH-25139) (cherry picked from commit bd4ab8e73906a4f12d5353f567228b7c7497baf7) (cherry picked from commit 7ad56e254519047aeb9c669b9ea2f2bf0acfd401) Co-authored-by: Irit Katriel --- Lib/pdb.py | 2 +- Lib/test/test_pdb.py | 13 +++++++++++++ .../2020-09-01-10-12-13.bpo-26053.hXikw_.rst | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2020-09-01-10-12-13.bpo-26053.hXikw_.rst diff --git a/Lib/pdb.py b/Lib/pdb.py index 7a5192cbadc3ad..98dc975eafafdc 100755 --- a/Lib/pdb.py +++ b/Lib/pdb.py @@ -1708,7 +1708,7 @@ def main(): print("The program finished and will be restarted") except Restart: print("Restarting", mainpyfile, "with arguments:") - print("\t" + " ".join(args)) + print("\t" + " ".join(sys.argv[1:])) except SystemExit: # In most cases SystemExit does not warrant a post-mortem session. print("The program exited via sys.exit(). Exit status:", end=' ') diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index f77c355077411b..ac731fefdd24b2 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -1440,6 +1440,19 @@ def test_issue16180(self): 'Fail to handle a syntax error in the debuggee.' .format(expected, stdout)) + def test_issue26053(self): + # run command of pdb prompt echoes the correct args + script = "print('hello')" + commands = """ + continue + run a b c + run d e f + quit + """ + stdout, stderr = self.run_pdb_script(script, commands) + res = '\n'.join([x.strip() for x in stdout.splitlines()]) + self.assertRegex(res, "Restarting .* with arguments:\na b c") + self.assertRegex(res, "Restarting .* with arguments:\nd e f") def test_readrc_kwarg(self): script = textwrap.dedent(""" diff --git a/Misc/NEWS.d/next/Library/2020-09-01-10-12-13.bpo-26053.hXikw_.rst b/Misc/NEWS.d/next/Library/2020-09-01-10-12-13.bpo-26053.hXikw_.rst new file mode 100644 index 00000000000000..e8720ac82ffb13 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2020-09-01-10-12-13.bpo-26053.hXikw_.rst @@ -0,0 +1 @@ +Fixed bug where the :mod:`pdb` interactive run command echoed the args from the shell command line, even if those have been overridden at the pdb prompt.