mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
[3.9] bpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005). (GH-28028)
(cherry picked from commit 2a8127cafe
)
This commit is contained in:
parent
dab74d68e3
commit
330aabbbbe
36 changed files with 143 additions and 15 deletions
|
@ -77,6 +77,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):
|
||||
|
@ -91,6 +92,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):
|
||||
|
@ -171,6 +173,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):
|
||||
|
@ -188,6 +191,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):
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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])
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue