Terry Jan Reedy | 725d9dd | 2013-07-28 00:00:20 -0400 | [diff] [blame] | 1 | import unittest |
Zachary Ware | ceced6b | 2014-05-02 10:51:07 -0500 | [diff] [blame] | 2 | from test.support import import_module |
Terry Jan Reedy | 725d9dd | 2013-07-28 00:00:20 -0400 | [diff] [blame] | 3 | |
Terry Jan Reedy | f35bb9e | 2016-08-16 00:10:14 -0400 | [diff] [blame] | 4 | # Skip test if _thread or _tkinter wasn't built, if idlelib is missing, |
| 5 | # or if tcl/tk is not the 8.5+ needed for ttk widgets. |
Terry Jan Reedy | eb4c9c7 | 2013-05-28 22:21:53 -0400 | [diff] [blame] | 6 | import_module('threading') # imported by PyShell, imports _thread |
Terry Jan Reedy | 725d9dd | 2013-07-28 00:00:20 -0400 | [diff] [blame] | 7 | tk = import_module('tkinter') # imports _tkinter |
Terry Jan Reedy | 1080d13 | 2016-06-09 21:09:15 -0400 | [diff] [blame] | 8 | if tk.TkVersion < 8.5: |
| 9 | raise unittest.SkipTest("IDLE requires tk 8.5 or later.") |
Terry Jan Reedy | 7c15341 | 2016-06-26 17:48:02 -0400 | [diff] [blame] | 10 | idlelib = import_module('idlelib') |
Terry Jan Reedy | db4e5c5 | 2013-05-27 21:32:03 -0400 | [diff] [blame] | 11 | |
Terry Jan Reedy | f35bb9e | 2016-08-16 00:10:14 -0400 | [diff] [blame] | 12 | # Before test imports, tell IDLE to avoid changing the environment. |
| 13 | idlelib.testing = True |
| 14 | |
| 15 | # unittest.main and test.libregrtest.runtest.runtest_inner |
| 16 | # call load_tests, when present, to discover tests to run. |
Terry Jan Reedy | 7c15341 | 2016-06-26 17:48:02 -0400 | [diff] [blame] | 17 | from idlelib.idle_test import load_tests |
Terry Jan Reedy | db4e5c5 | 2013-05-27 21:32:03 -0400 | [diff] [blame] | 18 | |
| 19 | if __name__ == '__main__': |
Terry Jan Reedy | f35bb9e | 2016-08-16 00:10:14 -0400 | [diff] [blame] | 20 | tk.NoDefaultRoot() |
| 21 | unittest.main(exit=False) |
Terry Jan Reedy | 43b1713 | 2016-07-25 00:31:54 -0400 | [diff] [blame] | 22 | tk._support_default_root = 1 |
| 23 | tk._default_root = None |