| 
									
										
										
										
											2013-07-28 00:00:20 -04:00
										 |  |  | import unittest | 
					
						
							|  |  |  | from test import support | 
					
						
							|  |  |  | from test.support import import_module, use_resources | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Skip test if _thread or _tkinter wasn't built or idlelib was deleted. | 
					
						
							| 
									
										
										
										
											2013-05-28 22:21:53 -04:00
										 |  |  | import_module('threading')  # imported by PyShell, imports _thread | 
					
						
							| 
									
										
										
										
											2013-07-28 00:00:20 -04:00
										 |  |  | tk = import_module('tkinter')  # imports _tkinter | 
					
						
							| 
									
										
										
										
											2013-05-28 22:21:53 -04:00
										 |  |  | idletest = import_module('idlelib.idle_test') | 
					
						
							| 
									
										
										
										
											2013-05-27 21:32:03 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-28 00:00:20 -04:00
										 |  |  | # If buildbot improperly sets gui resource (#18365, #18441), remove it | 
					
						
							|  |  |  | # so requires('gui') tests are skipped while non-gui tests still run. | 
					
						
							|  |  |  | # If there is a problem with Macs, see #18441, msg 193805 | 
					
						
							|  |  |  | if use_resources and 'gui' in use_resources: | 
					
						
							|  |  |  |     try: | 
					
						
							|  |  |  |         root = tk.Tk() | 
					
						
							|  |  |  |         root.destroy() | 
					
						
							| 
									
										
										
										
											2014-02-27 18:47:49 -05:00
										 |  |  |         del root | 
					
						
							| 
									
										
										
										
											2013-07-28 00:00:20 -04:00
										 |  |  |     except tk.TclError: | 
					
						
							|  |  |  |         while 'gui' in use_resources: | 
					
						
							|  |  |  |             use_resources.remove('gui') | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-05-28 22:21:53 -04:00
										 |  |  | # Without test_main present, regrtest.runtest_inner (line1219) calls | 
					
						
							|  |  |  | # unittest.TestLoader().loadTestsFromModule(this_module) which calls | 
					
						
							|  |  |  | # load_tests() if it finds it. (Unittest.main does the same.) | 
					
						
							|  |  |  | load_tests = idletest.load_tests | 
					
						
							| 
									
										
										
										
											2013-05-27 21:32:03 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							| 
									
										
										
										
											2013-06-29 18:22:02 -04:00
										 |  |  |     # Until unittest supports resources, we emulate regrtest's -ugui | 
					
						
							|  |  |  |     # so loaded tests run the same as if textually present here. | 
					
						
							|  |  |  |     # If any Idle test ever needs another resource, add it to the list. | 
					
						
							|  |  |  |     support.use_resources = ['gui']  # use_resources is initially None | 
					
						
							| 
									
										
										
										
											2013-05-27 21:32:03 -04:00
										 |  |  |     unittest.main(verbosity=2, exit=False) |