https://github.com/python/cpython/commit/e20e47dda67451d24e8b3f5784d64135abebf92f commit: e20e47dda67451d24e8b3f5784d64135abebf92f branch: main author: Tian Gao <gaogaotiant...@hotmail.com> committer: gaogaotiantian <gaogaotiant...@hotmail.com> date: 2025-03-04T15:10:32-05:00 summary:
gh-130660: Add a test for pdb when user quits after interact command (#130852) files: M Lib/test/test_pdb.py diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index 7ecb8d4cd4d5fa..a3246e4ec76b50 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -4342,6 +4342,32 @@ def test_quit(self): # The quit prompt should be printed exactly twice self.assertEqual(stdout.count("Quit anyway"), 2) + def test_quit_after_interact(self): + """ + interact command will set sys.ps1 temporarily, we need to make sure + that it's restored and pdb does not believe it's in interactive mode + after interact is done. + """ + script = """ + x = 1 + breakpoint() + """ + + commands = """ + interact + quit() + q + y + """ + + stdout, stderr = self._run_script(script, commands) + # Normal exit should not print anything to stderr + self.assertEqual(stderr, "") + # The quit prompt should be printed exactly once + self.assertEqual(stdout.count("Quit anyway"), 1) + # BdbQuit should not be printed + self.assertNotIn("BdbQuit", stdout) + def test_set_trace_with_skip(self): """GH-82897 Inline set_trace() should break unconditionally. This example is a _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com