Commit f35bb9e1 authored by Terry Jan Reedy's avatar Terry Jan Reedy

Issue #27611, #24137: Only change tkinter when easily restored.

parent ee454a0d
......@@ -30,6 +30,7 @@ import linecache
from code import InteractiveInterpreter
from platform import python_version, system
from idlelib import testing
from idlelib.editor import EditorWindow, fixwordbreaks
from idlelib.filelist import FileList
from idlelib.colorizer import ColorDelegator
......@@ -1448,8 +1449,9 @@ def main():
enable_edit = enable_edit or edit_start
enable_shell = enable_shell or not enable_edit
# Setup root.
if use_subprocess: # Don't break user code run in IDLE process
# Setup root. Don't break user code run in IDLE process.
# Don't change environment when testing.
if use_subprocess and not testing:
NoDefaultRoot()
root = Tk(className="Idle")
root.withdraw()
......
import unittest
from test.support import import_module
# Skip test if _thread or _tkinter wasn't built, or idlelib is missing,
# or if tcl/tk version before 8.5, which is needed for ttk widgets.
# Skip test if _thread or _tkinter wasn't built, if idlelib is missing,
# or if tcl/tk is not the 8.5+ needed for ttk widgets.
import_module('threading') # imported by PyShell, imports _thread
tk = import_module('tkinter') # imports _tkinter
if tk.TkVersion < 8.5:
raise unittest.SkipTest("IDLE requires tk 8.5 or later.")
tk.NoDefaultRoot()
idlelib = import_module('idlelib')
idlelib.testing = True # Avoid locale-changed test error
# Without test_main present, test.libregrtest.runtest.runtest_inner
# calls (line 173) unittest.TestLoader().loadTestsFromModule(module)
# which calls load_tests() if it finds it. (Unittest.main does the same.)
# Before test imports, tell IDLE to avoid changing the environment.
idlelib.testing = True
# unittest.main and test.libregrtest.runtest.runtest_inner
# call load_tests, when present, to discover tests to run.
from idlelib.idle_test import load_tests
if __name__ == '__main__':
unittest.main(verbosity=2, exit=False)
tk.NoDefaultRoot()
unittest.main(exit=False)
tk._support_default_root = 1
tk._default_root = None
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment