diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2021-08-29 11:04:40 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-29 11:04:40 (GMT) |
commit | 2a8127cafe1d196f858a3ecabf5f1df3eebf9a12 (patch) | |
tree | ddf073f1752e1dd20aba534964da961aeecf8c95 /Lib/tkinter | |
parent | 07d3d54f4e84b1259b800884b202701f69e408d8 (diff) | |
download | cpython-2a8127cafe1d196f858a3ecabf5f1df3eebf9a12.zip cpython-2a8127cafe1d196f858a3ecabf5f1df3eebf9a12.tar.gz cpython-2a8127cafe1d196f858a3ecabf5f1df3eebf9a12.tar.bz2 |
bpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005)
Diffstat (limited to 'Lib/tkinter')
-rw-r--r-- | Lib/tkinter/test/test_tkinter/test_images.py | 4 | ||||
-rw-r--r-- | Lib/tkinter/test/test_tkinter/test_variables.py | 5 | ||||
-rw-r--r-- | Lib/tkinter/test/test_ttk/test_extensions.py | 7 | ||||
-rw-r--r-- | Lib/tkinter/test/test_ttk/test_widgets.py | 3 |
4 files changed, 17 insertions, 2 deletions
diff --git a/Lib/tkinter/test/test_tkinter/test_images.py b/Lib/tkinter/test/test_tkinter/test_images.py index 2526e92..c7b4680 100644 --- a/Lib/tkinter/test/test_tkinter/test_images.py +++ b/Lib/tkinter/test/test_tkinter/test_images.py @@ -78,6 +78,7 @@ class BitmapImageTest(AbstractTkTest, unittest.TestCase): self.assertEqual(image.height(), 16) self.assertIn('::img::test', self.root.image_names()) del image + support.gc_collect() # For PyPy or other GCs. self.assertNotIn('::img::test', self.root.image_names()) def test_create_from_data(self): @@ -92,6 +93,7 @@ class BitmapImageTest(AbstractTkTest, unittest.TestCase): self.assertEqual(image.height(), 16) self.assertIn('::img::test', self.root.image_names()) del image + support.gc_collect() # For PyPy or other GCs. self.assertNotIn('::img::test', self.root.image_names()) def assertEqualStrList(self, actual, expected): @@ -172,6 +174,7 @@ class PhotoImageTest(AbstractTkTest, unittest.TestCase): self.assertEqual(image['file'], testfile) self.assertIn('::img::test', self.root.image_names()) del image + support.gc_collect() # For PyPy or other GCs. self.assertNotIn('::img::test', self.root.image_names()) def check_create_from_data(self, ext): @@ -189,6 +192,7 @@ class PhotoImageTest(AbstractTkTest, unittest.TestCase): self.assertEqual(image['file'], '') self.assertIn('::img::test', self.root.image_names()) del image + support.gc_collect() # For PyPy or other GCs. self.assertNotIn('::img::test', self.root.image_names()) def test_create_from_ppm_file(self): diff --git a/Lib/tkinter/test/test_tkinter/test_variables.py b/Lib/tkinter/test/test_tkinter/test_variables.py index 6aebe8d..0be5282 100644 --- a/Lib/tkinter/test/test_tkinter/test_variables.py +++ b/Lib/tkinter/test/test_tkinter/test_variables.py @@ -1,4 +1,6 @@ import unittest +from test import support + import gc import tkinter from tkinter import (Variable, StringVar, IntVar, DoubleVar, BooleanVar, Tcl, @@ -46,6 +48,7 @@ class TestVariable(TestBase): v = Variable(self.root, "sample string", "varname") self.assertTrue(self.info_exists("varname")) del v + support.gc_collect() # For PyPy or other GCs. self.assertFalse(self.info_exists("varname")) def test_dont_unset_not_existing(self): @@ -53,9 +56,11 @@ class TestVariable(TestBase): v1 = Variable(self.root, name="name") v2 = Variable(self.root, name="name") del v1 + support.gc_collect() # For PyPy or other GCs. self.assertFalse(self.info_exists("name")) # shouldn't raise exception del v2 + support.gc_collect() # For PyPy or other GCs. self.assertFalse(self.info_exists("name")) def test_equality(self): diff --git a/Lib/tkinter/test/test_ttk/test_extensions.py b/Lib/tkinter/test/test_ttk/test_extensions.py index 1a70e0b..e6b3ecc 100644 --- a/Lib/tkinter/test/test_ttk/test_extensions.py +++ b/Lib/tkinter/test/test_ttk/test_extensions.py @@ -2,7 +2,7 @@ import sys import unittest import tkinter from tkinter import ttk -from test.support import requires, run_unittest +from test.support import requires, run_unittest, gc_collect from tkinter.test.support import AbstractTkTest, AbstractDefaultRootTest requires('gui') @@ -18,6 +18,7 @@ class LabeledScaleTest(AbstractTkTest, unittest.TestCase): x = ttk.LabeledScale(self.root) var = x._variable._name x.destroy() + gc_collect() # For PyPy or other GCs. self.assertRaises(tkinter.TclError, x.tk.globalgetvar, var) # manually created variable @@ -30,6 +31,7 @@ class LabeledScaleTest(AbstractTkTest, unittest.TestCase): else: self.assertEqual(float(x.tk.globalgetvar(name)), myvar.get()) del myvar + gc_collect() # For PyPy or other GCs. self.assertRaises(tkinter.TclError, x.tk.globalgetvar, name) # checking that the tracing callback is properly removed @@ -171,6 +173,7 @@ class LabeledScaleTest(AbstractTkTest, unittest.TestCase): def test_resize(self): x = ttk.LabeledScale(self.root) x.pack(expand=True, fill='both') + gc_collect() # For PyPy or other GCs. x.update() width, height = x.master.winfo_width(), x.master.winfo_height() @@ -206,6 +209,7 @@ class OptionMenuTest(AbstractTkTest, unittest.TestCase): optmenu.destroy() self.assertEqual(optmenu.tk.globalgetvar(name), var.get()) del var + gc_collect() # For PyPy or other GCs. self.assertRaises(tkinter.TclError, optmenu.tk.globalgetvar, name) @@ -251,6 +255,7 @@ class OptionMenuTest(AbstractTkTest, unittest.TestCase): # check that variable is updated correctly optmenu.pack() + gc_collect() # For PyPy or other GCs. optmenu['menu'].invoke(0) self.assertEqual(optmenu._variable.get(), items[0]) diff --git a/Lib/tkinter/test/test_ttk/test_widgets.py b/Lib/tkinter/test/test_ttk/test_widgets.py index 1fac83a..ee5af82 100644 --- a/Lib/tkinter/test/test_ttk/test_widgets.py +++ b/Lib/tkinter/test/test_ttk/test_widgets.py @@ -1,7 +1,7 @@ import unittest import tkinter from tkinter import ttk, TclError -from test.support import requires +from test.support import requires, gc_collect import sys from tkinter.test.test_ttk.test_functions import MockTclObj @@ -839,6 +839,7 @@ class ScaleTest(AbstractWidgetTest, unittest.TestCase): self.assertEqual(conv(self.scale.get()), var.get()) self.assertEqual(conv(self.scale.get()), max + 5) del var + gc_collect() # For PyPy or other GCs. # the same happens with the value option self.scale['value'] = max + 10 |