pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/pull/21989.patch

0 Subject: [PATCH 4/9] add bdb.Breakpoint.clearBreakpoints() --- Lib/bdb.py | 6 ++++++ Lib/test/test_bdb.py | 4 +--- Lib/test/test_pdb.py | 14 ++++++-------- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Lib/bdb.py b/Lib/bdb.py index 82ffc398e1c12b4..abb50c092e69bb1 100644 --- a/Lib/bdb.py +++ b/Lib/bdb.py @@ -698,6 +698,12 @@ def __init__(self, file, line, temporary=False, cond=None, funcname=None): else: self.bplist[file, line] = [self] + @staticmethod + def clearBreakpoints(): + Breakpoint.next = 1 + Breakpoint.bplist = {} + Breakpoint.bpbynumber = [None] + def deleteMe(self): """Delete the breakpoint from the list associated to a file:line. diff --git a/Lib/test/test_bdb.py b/Lib/test/test_bdb.py index 88aa5c5804aacdb..ee12f298d9c45cb 100644 --- a/Lib/test/test_bdb.py +++ b/Lib/test/test_bdb.py @@ -74,9 +74,7 @@ class BdbNotExpectedError(BdbException): """Unexpected result.""" dry_run = 0 def reset_Breakpoint(): - _bdb.Breakpoint.next = 1 - _bdb.Breakpoint.bplist = {} - _bdb.Breakpoint.bpbynumber = [None] + _bdb.Breakpoint.clearBreakpoints() def info_breakpoints(): bp_list = [bp for bp in _bdb.Breakpoint.bpbynumber if bp] diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index e2aaa9aa7bdefcd..f711266361f8cd9 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -213,11 +213,9 @@ def test_pdb_basic_commands(): BAZ """ -def reset_Breakpoint_state(): +def reset_Breakpoint(): import bdb - bdb.Breakpoint.next = 1 - bdb.Breakpoint.bplist = {} - bdb.Breakpoint.bpbynumber = [None] + bdb.Breakpoint.clearBreakpoints() def test_pdb_breakpoint_commands(): """Test basic commands related to breakpoints. @@ -232,7 +230,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. - >>> reset_Breakpoint_state() + >>> 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" @@ -328,7 +326,7 @@ def test_pdb_breakpoint_commands(): def test_pdb_breakpoints_preserved_across_interactive_sessions(): """Breakpoints are remembered between interactive sessions - >>> reset_Breakpoint_state() + >>> reset_Breakpoint() >>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE ... 'import test.test_pdb', ... 'break test.test_pdb.do_something', @@ -746,7 +744,7 @@ def test_next_until_return_at_return_event(): ... test_function_2() ... end = 1 - >>> reset_Breakpoint_state() + >>> reset_Breakpoint() >>> with PdbTestInput(['break test_function_2', ... 'continue', ... 'return', @@ -1259,7 +1257,7 @@ def test_pdb_issue_20766(): ... print('pdb %d: %s' % (i, sess._previous_sigint_handler)) ... i += 1 - >>> reset_Breakpoint_state() + >>> reset_Breakpoint() >>> with PdbTestInput(['continue', ... 'continue']): ... test_function() From 653039555a3245efa1adc18d47b70c81ad1a35c4 Mon Sep 17 00:00:00 2001 From: Irit Katriel Date: Thu, 5 Nov 2020 12:50:14 +0000 Subject: [PATCH 5/9] added clear_break()s to the new bdb test --- Lib/test/test_bdb.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_bdb.py b/Lib/test/test_bdb.py index ee12f298d9c45cb..d3bb154c2bd6845 100644 --- a/Lib/test/test_bdb.py +++ b/Lib/test/test_bdb.py @@ -959,13 +959,31 @@ def test_load_bps_from_previous_Bdb_instance(self): db2.set_break(__file__, 2) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) self.assertEqual(db2.get_all_breaks(), {fname: [1, 2]}) - reset_Breakpoint() + db2.clear_break(__file__, 1) + self.assertEqual(db1.get_all_breaks(), {fname: [1]}) + self.assertEqual(db2.get_all_breaks(), {fname: [2]}) db3 = Bdb() - db3.set_break(__file__, 3) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) - self.assertEqual(db2.get_all_breaks(), {fname: [1, 2]}) - self.assertEqual(db3.get_all_breaks(), {fname: [3]}) + self.assertEqual(db2.get_all_breaks(), {fname: [2]}) + self.assertEqual(db3.get_all_breaks(), {fname: [2]}) + db2.clear_break(__file__, 2) + self.assertEqual(db1.get_all_breaks(), {fname: [1]}) + self.assertEqual(db2.get_all_breaks(), {}) + self.assertEqual(db3.get_all_breaks(), {fname: [2]}) + db4 = Bdb() + db4.set_break(__file__, 3) + self.assertEqual(db1.get_all_breaks(), {fname: [1]}) + self.assertEqual(db2.get_all_breaks(), {}) + self.assertEqual(db3.get_all_breaks(), {fname: [2]}) + self.assertEqual(db4.get_all_breaks(), {fname: [3]}) reset_Breakpoint() + db5 = Bdb() + db5.set_break(__file__, 4) + self.assertEqual(db1.get_all_breaks(), {fname: [1]}) + self.assertEqual(db2.get_all_breaks(), {}) + self.assertEqual(db3.get_all_breaks(), {fname: [2]}) + self.assertEqual(db4.get_all_breaks(), {fname: [3]}) + self.assertEqual(db5.get_all_breaks(), {fname: [4]}) class RunTestCase(BaseTestCase): From e53650d507a5932fefc6318fc7007be636186cc8 Mon Sep 17 00:00:00 2001 From: Irit Katriel Date: Thu, 5 Nov 2020 12:58:19 +0000 Subject: [PATCH 6/9] make the test a little more interesting --- Lib/test/test_bdb.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/Lib/test/test_bdb.py b/Lib/test/test_bdb.py index d3bb154c2bd6845..5c234c30b03633e 100644 --- a/Lib/test/test_bdb.py +++ b/Lib/test/test_bdb.py @@ -957,33 +957,35 @@ def test_load_bps_from_previous_Bdb_instance(self): self.assertEqual(db1.get_all_breaks(), {fname: [1]}) db2 = Bdb() db2.set_break(__file__, 2) + db2.set_break(__file__, 3) + db2.set_break(__file__, 4) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) - self.assertEqual(db2.get_all_breaks(), {fname: [1, 2]}) + self.assertEqual(db2.get_all_breaks(), {fname: [1, 2, 3, 4]}) db2.clear_break(__file__, 1) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) - self.assertEqual(db2.get_all_breaks(), {fname: [2]}) + self.assertEqual(db2.get_all_breaks(), {fname: [2, 3, 4]}) db3 = Bdb() self.assertEqual(db1.get_all_breaks(), {fname: [1]}) - self.assertEqual(db2.get_all_breaks(), {fname: [2]}) - self.assertEqual(db3.get_all_breaks(), {fname: [2]}) + self.assertEqual(db2.get_all_breaks(), {fname: [2, 3, 4]}) + self.assertEqual(db3.get_all_breaks(), {fname: [2, 3, 4]}) db2.clear_break(__file__, 2) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) - self.assertEqual(db2.get_all_breaks(), {}) - self.assertEqual(db3.get_all_breaks(), {fname: [2]}) + self.assertEqual(db2.get_all_breaks(), {fname: [3, 4]}) + self.assertEqual(db3.get_all_breaks(), {fname: [2, 3, 4]}) db4 = Bdb() - db4.set_break(__file__, 3) + db4.set_break(__file__, 5) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) - self.assertEqual(db2.get_all_breaks(), {}) - self.assertEqual(db3.get_all_breaks(), {fname: [2]}) - self.assertEqual(db4.get_all_breaks(), {fname: [3]}) + self.assertEqual(db2.get_all_breaks(), {fname: [3, 4]}) + self.assertEqual(db3.get_all_breaks(), {fname: [2, 3, 4]}) + self.assertEqual(db4.get_all_breaks(), {fname: [3, 4, 5]}) reset_Breakpoint() db5 = Bdb() - db5.set_break(__file__, 4) + db5.set_break(__file__, 6) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) - self.assertEqual(db2.get_all_breaks(), {}) - self.assertEqual(db3.get_all_breaks(), {fname: [2]}) - self.assertEqual(db4.get_all_breaks(), {fname: [3]}) - self.assertEqual(db5.get_all_breaks(), {fname: [4]}) + self.assertEqual(db2.get_all_breaks(), {fname: [3, 4]}) + self.assertEqual(db3.get_all_breaks(), {fname: [2, 3, 4]}) + self.assertEqual(db4.get_all_breaks(), {fname: [3, 4, 5]}) + self.assertEqual(db5.get_all_breaks(), {fname: [6]}) class RunTestCase(BaseTestCase): From 76a6320b7d5959e670e9eca6dcd3652382dbcc51 Mon Sep 17 00:00:00 2001 From: Irit Katriel Date: Thu, 5 Nov 2020 13:26:45 +0000 Subject: [PATCH 7/9] added delete breakpoint to the new pdb test --- Lib/test/test_pdb.py | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py index f711266361f8cd9..98e2b937d1339ab 100644 --- a/Lib/test/test_pdb.py +++ b/Lib/test/test_pdb.py @@ -330,6 +330,7 @@ def test_pdb_breakpoints_preserved_across_interactive_sessions(): >>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE ... 'import test.test_pdb', ... 'break test.test_pdb.do_something', + ... 'break test.test_pdb.do_nothing', ... 'break', ... 'continue', ... ]): @@ -338,9 +339,12 @@ def test_pdb_breakpoints_preserved_across_interactive_sessions(): (Pdb) import test.test_pdb (Pdb) break test.test_pdb.do_something Breakpoint 1 at ...test_pdb.py:... + (Pdb) break test.test_pdb.do_nothing + Breakpoint 2 at ...test_pdb.py:... (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at ...test_pdb.py:... + 2 breakpoint keep yes at ...test_pdb.py:... (Pdb) continue >>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE @@ -348,7 +352,6 @@ def test_pdb_breakpoints_preserved_across_interactive_sessions(): ... 'break pdb.find_function', ... 'break', ... 'clear 1', - ... 'clear 2', ... 'continue', ... ]): ... pdb.run('print()') @@ -356,16 +359,34 @@ def test_pdb_breakpoints_preserved_across_interactive_sessions(): (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at ...test_pdb.py:... + 2 breakpoint keep yes at ...test_pdb.py:... (Pdb) break pdb.find_function - Breakpoint 2 at ...pdb.py:94 + Breakpoint 3 at ...pdb.py:94 (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at ...test_pdb.py:... - 2 breakpoint keep yes at ...pdb.py:... + 2 breakpoint keep yes at ...test_pdb.py:... + 3 breakpoint keep yes at ...pdb.py:... (Pdb) clear 1 Deleted breakpoint 1 at ...test_pdb.py:... + (Pdb) continue + + >>> with PdbTestInput([ # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE + ... 'break', + ... 'clear 2', + ... 'clear 3', + ... 'continue', + ... ]): + ... pdb.run('print()') + > (1)() + (Pdb) break + Num Type Disp Enb Where + 2 breakpoint keep yes at ...test_pdb.py:... + 3 breakpoint keep yes at ...pdb.py:... (Pdb) clear 2 - Deleted breakpoint 2 at ...pdb.py:... + Deleted breakpoint 2 at ...test_pdb.py:... + (Pdb) clear 3 + Deleted breakpoint 3 at ...pdb.py:... (Pdb) continue """ From 28668589b292d886fb6b05b0ae9ca949e93fc710 Mon Sep 17 00:00:00 2001 From: Irit Katriel Date: Thu, 5 Nov 2020 14:30:12 +0000 Subject: [PATCH 8/9] break up test to improve readability --- Lib/test/test_bdb.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Lib/test/test_bdb.py b/Lib/test/test_bdb.py index 5c234c30b03633e..398698c79c16dfa 100644 --- a/Lib/test/test_bdb.py +++ b/Lib/test/test_bdb.py @@ -955,6 +955,7 @@ def test_load_bps_from_previous_Bdb_instance(self): fname = db1.canonic(__file__) db1.set_break(__file__, 1) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) + db2 = Bdb() db2.set_break(__file__, 2) db2.set_break(__file__, 3) @@ -964,6 +965,7 @@ def test_load_bps_from_previous_Bdb_instance(self): db2.clear_break(__file__, 1) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) self.assertEqual(db2.get_all_breaks(), {fname: [2, 3, 4]}) + db3 = Bdb() self.assertEqual(db1.get_all_breaks(), {fname: [1]}) self.assertEqual(db2.get_all_breaks(), {fname: [2, 3, 4]}) @@ -972,6 +974,7 @@ def test_load_bps_from_previous_Bdb_instance(self): self.assertEqual(db1.get_all_breaks(), {fname: [1]}) self.assertEqual(db2.get_all_breaks(), {fname: [3, 4]}) self.assertEqual(db3.get_all_breaks(), {fname: [2, 3, 4]}) + db4 = Bdb() db4.set_break(__file__, 5) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) @@ -979,6 +982,7 @@ def test_load_bps_from_previous_Bdb_instance(self): self.assertEqual(db3.get_all_breaks(), {fname: [2, 3, 4]}) self.assertEqual(db4.get_all_breaks(), {fname: [3, 4, 5]}) reset_Breakpoint() + db5 = Bdb() db5.set_break(__file__, 6) self.assertEqual(db1.get_all_breaks(), {fname: [1]}) From 5862d288746ea232d80849f4bb10a2a7be10e803 Mon Sep 17 00:00:00 2001 From: Irit Katriel Date: Tue, 22 Dec 2020 10:08:09 +0000 Subject: [PATCH 9/9] Update 2020-08-28-23-07-53.bpo-24160.MSGnKr.rst --- .../next/Library/2020-08-28-23-07-53.bpo-24160.MSGnKr.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Library/2020-08-28-23-07-53.bpo-24160.MSGnKr.rst b/Misc/NEWS.d/next/Library/2020-08-28-23-07-53.bpo-24160.MSGnKr.rst index 41ebfa7c2c661e1..c0cfd87b878af34 100644 --- a/Misc/NEWS.d/next/Library/2020-08-28-23-07-53.bpo-24160.MSGnKr.rst +++ b/Misc/NEWS.d/next/Library/2020-08-28-23-07-53.bpo-24160.MSGnKr.rst @@ -1 +1 @@ -Fixed bug where breakpoints did not persist across multiple debugger sessions in pdb's interactive mode. \ No newline at end of file +Fixed bug where breakpoints did not persist across multiple debugger sessions in :mod:`pdb`'s interactive mode. pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy