changeset: 86926:fe7aaf14b129 branch: 2.7 parent: 86923:c3fa22d04fb2 user: Serhiy Storchaka date: Mon Nov 04 23:05:23 2013 +0200 files: Lib/lib-tk/test/test_tkinter/test_widgets.py Lib/lib-tk/test/widget_tests.py description: Issue #19085: Fix running test_ttk_textonly on displayless host. diff -r c3fa22d04fb2 -r fe7aaf14b129 Lib/lib-tk/test/test_tkinter/test_widgets.py --- a/Lib/lib-tk/test/test_tkinter/test_widgets.py Mon Nov 04 22:10:35 2013 +0200 +++ b/Lib/lib-tk/test/test_tkinter/test_widgets.py Mon Nov 04 23:05:23 2013 +0200 @@ -4,7 +4,8 @@ from test.test_support import requires, run_unittest from test_ttk.support import tcl_version, requires_tcl, widget_eq -from widget_tests import (add_standard_options, noconv, noconv_meth, int_round, +from widget_tests import ( + add_standard_options, noconv, noconv_meth, int_round, pixels_round, AbstractWidgetTest, StandardOptionsTests, IntegerSizeTests, PixelSizeTests) @@ -240,7 +241,7 @@ 'takefocus', 'text', 'textvariable', 'underline', 'width', 'wraplength', ) - _conv_pixels = staticmethod(AbstractWidgetTest._conv_pixels) + _conv_pixels = staticmethod(pixels_round) def _create(self, **kwargs): return Tkinter.Menubutton(self.root, **kwargs) diff -r c3fa22d04fb2 -r fe7aaf14b129 Lib/lib-tk/test/widget_tests.py --- a/Lib/lib-tk/test/widget_tests.py Mon Nov 04 22:10:35 2013 +0200 +++ b/Lib/lib-tk/test/widget_tests.py Mon Nov 04 23:05:23 2013 +0200 @@ -15,12 +15,18 @@ if tcl_version[:2] == (8, 5): # Issue #19085: Workaround a bug in Tk # http://core.tcl.tk/tk/info/3497848 - root = setup_master() - patchlevel = root.call('info', 'patchlevel') - patchlevel = tuple(map(int, patchlevel.split('.'))) - if patchlevel < (8, 5, 12): - pixels_round = int - del root + _pixels_round = None + def pixels_round(x): + global _pixels_round + if _pixels_round is None: + root = setup_master() + patchlevel = root.call('info', 'patchlevel') + patchlevel = tuple(map(int, patchlevel.split('.'))) + if patchlevel < (8, 5, 12): + _pixels_round = int + else: + _pixels_round = int_round + return _pixels_round(x) _sentinel = object()