aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_tkinter/support.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2023-08-07 14:11:39 +0300
committerGitHub <noreply@github.com>2023-08-07 14:11:39 +0300
commit3c8e8f3ceeae08fc43d885f5a4c65a3ee4b1a2c8 (patch)
tree3c8a19ba8237d6468c6b28928d90e5acfcff5973 /Lib/test/test_tkinter/support.py
parent6925c578a0e3cbb00858e64da813a7ffe79623c4 (diff)
downloadcpython-3c8e8f3ceeae08fc43d885f5a4c65a3ee4b1a2c8.tar.gz
cpython-3c8e8f3ceeae08fc43d885f5a4c65a3ee4b1a2c8.zip
gh-104496: Use correct Tcl or Tk version in Tkinter tests (GH-107688)
In future Tcl and Tk versions can be desynchronized.
Diffstat (limited to 'Lib/test/test_tkinter/support.py')
-rw-r--r--Lib/test/test_tkinter/support.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/Lib/test/test_tkinter/support.py b/Lib/test/test_tkinter/support.py
index 9154ebac5c4..10e64bf40a4 100644
--- a/Lib/test/test_tkinter/support.py
+++ b/Lib/test/test_tkinter/support.py
@@ -79,28 +79,28 @@ def simulate_mouse_click(widget, x, y):
import _tkinter
tcl_version = tuple(map(int, _tkinter.TCL_VERSION.split('.')))
+tk_version = tuple(map(int, _tkinter.TK_VERSION.split('.')))
-def requires_tcl(*version):
- if len(version) <= 2:
- return unittest.skipUnless(tcl_version >= version,
- 'requires Tcl version >= ' + '.'.join(map(str, version)))
+def requires_tk(*version):
+ if len(version) <= 2 and tk_version >= version:
+ return lambda test: test
def deco(test):
@functools.wraps(test)
def newtest(self):
- if get_tk_patchlevel() < version:
- self.skipTest('requires Tcl version >= ' +
+ root = getattr(self, 'root', None)
+ if get_tk_patchlevel(root) < version:
+ self.skipTest('requires Tk version >= ' +
'.'.join(map(str, version)))
test(self)
return newtest
return deco
_tk_patchlevel = None
-def get_tk_patchlevel():
+def get_tk_patchlevel(root):
global _tk_patchlevel
if _tk_patchlevel is None:
- tcl = tkinter.Tcl()
- _tk_patchlevel = tcl.info_patchlevel()
+ _tk_patchlevel = tkinter._parse_version(root.tk.globalgetvar('tk_patchLevel'))
return _tk_patchlevel
units = {