diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2023-08-07 14:11:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-07 14:11:39 +0300 |
commit | 3c8e8f3ceeae08fc43d885f5a4c65a3ee4b1a2c8 (patch) | |
tree | 3c8a19ba8237d6468c6b28928d90e5acfcff5973 /Lib/test/test_tkinter/support.py | |
parent | 6925c578a0e3cbb00858e64da813a7ffe79623c4 (diff) | |
download | cpython-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.py | 18 |
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 = { |