From 77794fe4f72c53e9f4c0e9bafe2babb501beb5bf Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Sun, 19 Nov 2023 01:13:05 -0500 Subject: [PATCH 1/2] IDLE: Fix test_debugger. Missing "requires('gui')" causes Tk() to fail when no gui. IdbTest failed on draft Bdb replacement because so different. --- Lib/idlelib/idle_test/test_debugger.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Lib/idlelib/idle_test/test_debugger.py b/Lib/idlelib/idle_test/test_debugger.py index db01a893cb1980..701bdc6010f491 100644 --- a/Lib/idlelib/idle_test/test_debugger.py +++ b/Lib/idlelib/idle_test/test_debugger.py @@ -44,10 +44,8 @@ def setUpClass(cls): cls.msg = 'file.py:2: ()' def test_init(self): - # Test that Idb.__init_ calls Bdb.__init__. - idb = debugger.Idb(None) - self.assertIsNone(idb.gui) - self.assertTrue(hasattr(idb, 'breaks')) + self.assertIs(self.idb.gui, self.gui) + def test_user_line(self): # Test that .user_line() creates a string message for a frame. @@ -279,6 +277,7 @@ class NameSpaceTest(unittest.TestCase): @classmethod def setUpClass(cls): + requires('gui') cls.root = Tk() cls.root.withdraw() From 10d6e671faa304cc285be899233cb7a26f5178e7 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Sun, 19 Nov 2023 01:21:20 -0500 Subject: [PATCH 2/2] Improve comments. --- Lib/idlelib/idle_test/test_debugger.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Lib/idlelib/idle_test/test_debugger.py b/Lib/idlelib/idle_test/test_debugger.py index 701bdc6010f491..d1c9638dd5d711 100644 --- a/Lib/idlelib/idle_test/test_debugger.py +++ b/Lib/idlelib/idle_test/test_debugger.py @@ -1,4 +1,7 @@ -"Test debugger, coverage 19%" +"""Test debugger, coverage 66% + +Try to make tests pass with draft bdbx, which may replace bdb in 3.13+. +""" from idlelib import debugger from collections import namedtuple @@ -45,7 +48,7 @@ def setUpClass(cls): def test_init(self): self.assertIs(self.idb.gui, self.gui) - + # Won't test super call since two Bdbs are very different. def test_user_line(self): # Test that .user_line() creates a string message for a frame.