summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_tkinter/support.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-08-16 12:32:04 (GMT)
committerGitHub <noreply@github.com>2023-08-16 12:32:04 (GMT)
commit91d935b47b47f5fa5c3eb0ee5e45a627f79babef (patch)
tree31583ffd882221422116526d050c6a7d17c10037 /Lib/test/test_tkinter/support.py
parent220d7e3120ffa23d01f91b7ad89f488b4dda3ef0 (diff)
downloadcpython-91d935b47b47f5fa5c3eb0ee5e45a627f79babef.zip
cpython-91d935b47b47f5fa5c3eb0ee5e45a627f79babef.tar.gz
cpython-91d935b47b47f5fa5c3eb0ee5e45a627f79babef.tar.bz2
[3.12] gh-104496: Use correct Tcl or Tk version in Tkinter tests (GH-107688) (#107709)
gh-104496: Use correct Tcl or Tk version in Tkinter tests (GH-107688) In future Tcl and Tk versions can be desynchronized. (cherry picked from commit 3c8e8f3ceeae08fc43d885f5a4c65a3ee4b1a2c8) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
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 9154eba..10e64bf 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 = {