diff options
| author | Irit Katriel <iritkatriel@yahoo.com> | 2021-04-28 15:21:11 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-28 15:21:11 (GMT) |
| commit | 2dc6b1789ec86dc80ea290fe33edd61140e47f6f (patch) | |
| tree | 3528112a2ebcb4610d99609e5851e4e3c6d5a18a | |
| parent | fdb11897d7c8f9e6bdf96fcef802f784ef90f726 (diff) | |
| download | cpython-2dc6b1789ec86dc80ea290fe33edd61140e47f6f.zip cpython-2dc6b1789ec86dc80ea290fe33edd61140e47f6f.tar.gz cpython-2dc6b1789ec86dc80ea290fe33edd61140e47f6f.tar.bz2 | |
bpo-43960: test_pdb resets breakpoints to make tests deterministic (GH-25691)
| -rw-r--r-- | Lib/test/test_pdb.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index 0da449e..2523a5d 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -17,6 +17,13 @@ from test import support from test.test_doctest import _FakeInput from unittest.mock import patch +from bdb import Breakpoint + +def reset_Breakpoint(): + Breakpoint.next = 1 + Breakpoint.bplist = {} + Breakpoint.bpbynumber = [None] + class PdbTestInput(object): """Context manager that makes testing Pdb in doctests easier.""" @@ -227,10 +234,7 @@ def test_pdb_breakpoint_commands(): First, need to clear bdb state that might be left over from previous tests. Otherwise, the new breakpoints might get assigned different numbers. - >>> from bdb import Breakpoint - >>> Breakpoint.next = 1 - >>> Breakpoint.bplist = {} - >>> Breakpoint.bpbynumber = [None] + >>> reset_Breakpoint() Now test the breakpoint commands. NORMALIZE_WHITESPACE is needed because the breakpoint list outputs a tab for the "stop only" and "ignore next" @@ -699,8 +703,7 @@ def test_next_until_return_at_return_event(): ... test_function_2() ... end = 1 - >>> from bdb import Breakpoint - >>> Breakpoint.next = 1 + >>> reset_Breakpoint() >>> with PdbTestInput(['break test_function_2', ... 'continue', ... 'return', @@ -1127,6 +1130,7 @@ def test_pdb_next_command_in_generator_for_loop(): ... print('value', i) ... x = 123 + >>> reset_Breakpoint() >>> with PdbTestInput(['break test_gen', ... 'continue', ... 'next', @@ -1137,7 +1141,7 @@ def test_pdb_next_command_in_generator_for_loop(): > <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[1]>(3)test_function() -> for i in test_gen(): (Pdb) break test_gen - Breakpoint 6 at <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[0]>:1 + Breakpoint 1 at <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[0]>:1 (Pdb) continue > <doctest test.test_pdb.test_pdb_next_command_in_generator_for_loop[0]>(2)test_gen() -> yield 0 |
