gh-132536: Do not disable PY_THROW event in bdb (#132537) · python/cpython@d19af00 · GitHub
Skip to content

Commit d19af00

Browse files
gh-132536: Do not disable PY_THROW event in bdb (#132537)
1 parent 4f10b93 commit d19af00

3 files changed

Lines changed: 44 additions & 12 deletions

File tree

Lib/bdb.py

Lines changed: 8 additions & 12 deletions

Lib/test/test_pdb.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2581,6 +2581,41 @@ def test_pdb_next_command_subiterator():
25812581
(Pdb) continue
25822582
"""
25832583

2584+
def test_pdb_breakpoint_with_throw():
2585+
"""GH-132536: PY_THROW event should not be turned off
2586+
2587+
>>> reset_Breakpoint()
2588+
2589+
>>> def gen():
2590+
... yield 0
2591+
2592+
>>> def test_function():
2593+
... import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
2594+
... g = gen()
2595+
... try:
2596+
... g.throw(TypeError)
2597+
... except TypeError:
2598+
... pass
2599+
2600+
>>> with PdbTestInput([
2601+
... 'b 7',
2602+
... 'continue',
2603+
... 'clear 1',
2604+
... 'continue',
2605+
... ]):
2606+
... test_function()
2607+
> <doctest test.test_pdb.test_pdb_breakpoint_with_throw[2]>(2)test_function()
2608+
-> import pdb; pdb.Pdb(nosigint=True, readrc=False).set_trace()
2609+
(Pdb) b 7
2610+
Breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_with_throw[2]>:7
2611+
(Pdb) continue
2612+
> <doctest test.test_pdb.test_pdb_breakpoint_with_throw[2]>(7)test_function()
2613+
-> pass
2614+
(Pdb) clear 1
2615+
Deleted breakpoint 1 at <doctest test.test_pdb.test_pdb_breakpoint_with_throw[2]>:7
2616+
(Pdb) continue
2617+
"""
2618+
25842619
def test_pdb_multiline_statement():
25852620
"""Test for multiline statement
25862621
Lines changed: 1 addition & 0 deletions

0 commit comments

Comments
 (0)