mirror of
https://github.com/python/cpython.git
synced 2025-10-17 04:08:28 +00:00
Issue #18604: Consolidated checks for GUI availability.
test_support._is_gui_available is now defined the same way on every platform, and now includes the Windows-specific check that had been in the Windows version of _is_gui_available and the OSX-specific check that was in tkinter.test.support.check_tk_availability. Also, every platform checks whether Tk can be instantiated (if the platform-specific checks passed).
This commit is contained in:
parent
3d5c9e2c67
commit
ceced6bfea
6 changed files with 64 additions and 73 deletions
|
@ -1,24 +1,12 @@
|
|||
import unittest
|
||||
from test import support
|
||||
from test.support import import_module, use_resources
|
||||
from test.support import import_module
|
||||
|
||||
# Skip test if _thread or _tkinter wasn't built or idlelib was deleted.
|
||||
import_module('threading') # imported by PyShell, imports _thread
|
||||
tk = import_module('tkinter') # imports _tkinter
|
||||
idletest = import_module('idlelib.idle_test')
|
||||
|
||||
# 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()
|
||||
del root
|
||||
except tk.TclError:
|
||||
while 'gui' in use_resources:
|
||||
use_resources.remove('gui')
|
||||
|
||||
# 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.)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue