mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 11:49:12 +00:00 
			
		
		
		
	Update gui section of idle test README.
This commit is contained in:
		
							parent
							
								
									a9d16c85d7
								
							
						
					
					
						commit
						015b4535c5
					
				
					 1 changed files with 12 additions and 4 deletions
				
			
		| 
						 | 
					@ -40,13 +40,20 @@ master object either directly or indirectly by instantiating a tkinter or
 | 
				
			||||||
idle class. For the benefit of buildbot machines that do not have a graphics
 | 
					idle class. For the benefit of buildbot machines that do not have a graphics
 | 
				
			||||||
screen, gui tests must be 'guarded' by "requires('gui')" in a setUp
 | 
					screen, gui tests must be 'guarded' by "requires('gui')" in a setUp
 | 
				
			||||||
function or method. This will typically be setUpClass.
 | 
					function or method. This will typically be setUpClass.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All gui objects must be destroyed by the end of the test, perhaps in a tearDown
 | 
				
			||||||
 | 
					function. Creating the Tk root directly in a setUp allows a reference to be saved
 | 
				
			||||||
 | 
					so it can be properly destroyed in the corresponding tearDown. 
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
    def setUpClass(cls):
 | 
					    def setUpClass(cls):
 | 
				
			||||||
        requires('gui')
 | 
					        requires('gui')
 | 
				
			||||||
 | 
					        cls.root = tk.Tk()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @classmethod
 | 
				
			||||||
 | 
					    def tearDownClass(cls):
 | 
				
			||||||
 | 
					        cls.root.destroy()
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
All gui objects must be destroyed by the end of the test, perhaps in a tearDown
 | 
					 | 
				
			||||||
function.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Support.requires('gui') returns true if it is either called in a main module
 | 
					Support.requires('gui') returns true if it is either called in a main module
 | 
				
			||||||
(which never happens on buildbots) or if use_resources contains 'gui'.
 | 
					(which never happens on buildbots) or if use_resources contains 'gui'.
 | 
				
			||||||
| 
						 | 
					@ -56,8 +63,9 @@ template above.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Since non-gui tests always run, but gui tests only sometimes, tests of non-gui
 | 
					Since non-gui tests always run, but gui tests only sometimes, tests of non-gui
 | 
				
			||||||
operations should best avoid needing a gui. Methods that make incidental use of
 | 
					operations should best avoid needing a gui. Methods that make incidental use of
 | 
				
			||||||
tkinter variables and messageboxes can do this by using the mock classes in
 | 
					tkinter (tk) variables and messageboxes can do this by using the mock classes in
 | 
				
			||||||
idle_test/mock_tk.py.
 | 
					idle_test/mock_tk.py. There is also a mock text that will handle some uses of the
 | 
				
			||||||
 | 
					tk Text widget.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
3. Running Tests
 | 
					3. Running Tests
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue