gh-118714: Make the pdb post-mortem restart/quit behavior more reasonable (#118725)
This commit is contained in:
parent
f8373db153
commit
e245ed7d1e
@ -2481,9 +2481,12 @@ def main():
|
|||||||
traceback.print_exception(e, colorize=_colorize.can_colorize())
|
traceback.print_exception(e, colorize=_colorize.can_colorize())
|
||||||
print("Uncaught exception. Entering post mortem debugging")
|
print("Uncaught exception. Entering post mortem debugging")
|
||||||
print("Running 'cont' or 'step' will restart the program")
|
print("Running 'cont' or 'step' will restart the program")
|
||||||
pdb.interaction(None, e)
|
try:
|
||||||
print(f"Post mortem debugger finished. The {target} will "
|
pdb.interaction(None, e)
|
||||||
"be restarted")
|
except Restart:
|
||||||
|
print("Restarting", target, "with arguments:")
|
||||||
|
print("\t" + " ".join(sys.argv[1:]))
|
||||||
|
continue
|
||||||
if pdb._user_requested_quit:
|
if pdb._user_requested_quit:
|
||||||
break
|
break
|
||||||
print("The program finished and will be restarted")
|
print("The program finished and will be restarted")
|
||||||
|
@ -3545,6 +3545,23 @@ def bœr():
|
|||||||
# the file as up to date
|
# the file as up to date
|
||||||
self.assertNotIn("WARNING:", stdout)
|
self.assertNotIn("WARNING:", stdout)
|
||||||
|
|
||||||
|
def test_post_mortem_restart(self):
|
||||||
|
script = """
|
||||||
|
def foo():
|
||||||
|
raise ValueError("foo")
|
||||||
|
foo()
|
||||||
|
"""
|
||||||
|
|
||||||
|
commands = """
|
||||||
|
continue
|
||||||
|
restart
|
||||||
|
continue
|
||||||
|
quit
|
||||||
|
"""
|
||||||
|
|
||||||
|
stdout, stderr = self.run_pdb_script(script, commands)
|
||||||
|
self.assertIn("Restarting", stdout)
|
||||||
|
|
||||||
def test_relative_imports(self):
|
def test_relative_imports(self):
|
||||||
self.module_name = 't_main'
|
self.module_name = 't_main'
|
||||||
os_helper.rmtree(self.module_name)
|
os_helper.rmtree(self.module_name)
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
Allow ``restart`` in post-mortem debugging of :mod:`pdb`. Removed restart message
|
||||||
|
when the user quits pdb from post-mortem mode.
|
Loading…
x
Reference in New Issue
Block a user