8000 bpo-42142: Try to fix timeouts in ttk tests (GH-23474) · python/cpython@03ae7e4 · GitHub
[go: up one dir, main page]

Skip to content

Commit 03ae7e4

Browse files
bpo-42142: Try to fix timeouts in ttk tests (GH-23474)
Instead of using wait_visibility() which waits event <VisibilityNotify> in dead loop use update() which should proceed all queued events. (cherry picked from commit 6cc2c41) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
1 parent 586bdd1 commit 03ae7e4

File tree

2 files changed

+7
-19
lines changed

2 files changed

+7
-19
lines changed

Lib/tkinter/test/test_ttk/test_extensions.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@ def check_positions(scale, scale_pos, label, label_pos):
114114
def test_horizontal_range(self):
115115
lscale = ttk.LabeledScale(self.root, from_=0, to=10)
116116
lscale.pack()
117-
lscale.wait_visibility()
118117
lscale.update()
119118

120119
linfo_1 = lscale.label.place_info()
@@ -144,7 +143,6 @@ def test_horizontal_range(self):
144143
def test_variable_change(self):
145144
x = ttk.LabeledScale(self.root)
146145
x.pack()
147-
x.wait_visibility()
148146
x.update()
149147

150148
curr_xcoord = x.scale.coords()[0]
@@ -187,7 +185,6 @@ def test_variable_change(self):
187185
def test_resize(self):
188186
x = ttk.LabeledScale(self.root)
189187
x.pack(expand=True, fill='both')
190-
x.wait_visibility()
191188
x.update()
192189

193190
width, height = x.master.winfo_width(), x.master.winfo_height()
@@ -268,7 +265,6 @@ def test_menu(self):
268265

269266
# check that variable is updated correctly
270267
optmenu.pack()
271-
optmenu.wait_visibility()
272268
optmenu['menu'].invoke(0)
273269
self.assertEqual(optmenu._variable.get(), items[0])
274270

@@ -299,9 +295,7 @@ def test_unique_radiobuttons(self):
299295
textvar2 = tkinter.StringVar(self.root)
300296
optmenu2 = ttk.OptionMenu(self.root, textvar2, default, *items)
301297
optmenu.pack()
302-
optmenu.wait_visibility()
303298
optmenu2.pack()
304-
optmenu2.wait_visibility()
305299
optmenu['menu'].invoke(1)
306300
optmenu2['menu'].invoke(2)
307301
optmenu_stringvar_name = optmenu['menu'].entrycget(0, 'variable')

Lib/tkinter/test/test_ttk/test_widgets.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,10 @@ def setUp(self):
6060
super().setUp()
6161
self.widget = ttk.Button(self.root, width=0, text="Text")
6262
self.widget.pack()
63-
self.widget.wait_visibility()
6463

6564

6665
def test_identify(self):
67-
self.widget.update_idletasks()
66+
self.widget.update()
6867
self.assertEqual(self.widget.identify(
6968
int(self.widget.winfo_width() / 2),
7069
int(self.widget.winfo_height() / 2)
@@ -326,8 +325,7 @@ def test_bbox(self):
326325

327326
def test_identify(self):
328327
self.entry.pack()
329-
self.entry.wait_visibility()
330-
self.entry.update_idletasks()
328+
self.entry.update()
331329

332330
# bpo-27313: macOS Cocoa widget differs from X, allow either
333331
if sys.platform == 'darwin':
@@ -449,7 +447,7 @@ def test_virtual_event(self):
449447
self.combo.bind('<<ComboboxSelected>>',
450448
lambda evt: success.append(True))
451449
self.combo.pack()
452-
self.combo.wait_visibility()
450+
self.combo.update()
453451

454452
height = self.combo.winfo_height()
455453
self._show_drop_down_listbox()
@@ -465,7 +463,7 @@ def test_postcommand(self):
465463

466464
self.combo['postcommand'] = lambda: success.append(True)
467465
self.combo.pack()
468-
self.combo.wait_visibility()
466+
self.combo.update()
469467

470468
self._show_drop_down_listbox()
471469
self.assertTrue(success)
@@ -665,7 +663,6 @@ def test_sashpos(self):
665663
self.assertRaises(tkinter.TclError, self.paned.sashpos, 1)
666664

667665
self.paned.pack(expand=True, fill='both')
668-
self.paned.wait_visibility()
669666

670667
curr_pos = self.paned.sashpos(0)
671668
self.paned.sashpos(0, 1000)
@@ -933,7 +930,7 @@ def test_tab_identifiers(self):
933930
self.nb.add(self.child1, text='a')
934931

935932
self.nb.pack()
936-
self.nb.wait_visibility()
933+
self.nb.update()
937934
if sys.platform == 'darwin':
938935
tb_idx = "@20,5"
939936
else:
@@ -1041,7 +1038,7 @@ def test_insert(self):
10411038

10421039
def test_select(self):
10431040
self.nb.pack()
1044-
self.nb.wait_visibility()
1041+
self.nb.update()
10451042

10461043
success = []
10471044
tab_changed = []
@@ -1084,7 +1081,7 @@ def test_tabs(self):
10841081

10851082
def test_traversal(self):
10861083
self.nb.pack()
1087-
self.nb.wait_visibility()
1084+
self.nb.update()
10881085

10891086
self.nb.select(0)
10901087

@@ -1342,7 +1339,6 @@ def test_show(self):
13421339
def test_bbox(self):
13431340
self.tv.pack()
13441341
self.assertEqual(self.tv.bbox(''), '')
1345-
self.tv.wait_visibility()
13461342
self.tv.update()
13471343

13481344
item_id = self.tv.insert('', 'end')
@@ -1536,7 +1532,6 @@ def simulate_heading_click(x, y):
15361532
success = [] # no success for now
15371533

15381534
self.tv.pack()
1539-
self.tv.wait_visibility()
15401535
self.tv.heading('#0', command=lambda: success.append(True))
15411536
self.tv.column('#0', width=100)
15421537
self.tv.update()
@@ -1784,7 +1779,6 @@ def test_tag_bind(self):
17841779
lambda evt: events.append(2))
17851780

17861781
self.tv.pack()
1787-
self.tv.wait_visibility()
17881782
self.tv.update()
17891783

17901784
pos_y = set()

0 commit comments

Comments
 (0)
0