mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +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 @@ def test_create_from_file(self): | |||
|         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 @@ def test_create_from_data(self): | |||
|         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 @@ def check_create_from_file(self, ext): | |||
|         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 @@ def check_create_from_data(self, ext): | |||
|         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 @@ def test___del__(self): | |||
|         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 @@ def test_dont_unset_not_existing(self): | |||
|         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 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 @@ def test_widget_destroy(self): | |||
|         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 @@ def test_widget_destroy(self): | |||
|         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 @@ def test_variable_change(self): | |||
|     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 @@ def test_widget_destroy(self): | |||
|         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 @@ def test_menu(self): | |||
| 
 | ||||
|         # 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 @@ def test_set(self): | |||
|         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
	
	 Serhiy Storchaka
						Serhiy Storchaka