mirror of https://github.com/python/cpython
Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to
Lib/lib-tk/test/test_tkinter/test_loadtk in order to follow the behaviour of test_ttkguionly.
This commit is contained in:
parent
439bf93f8c
commit
7f146ab0ca
|
@ -0,0 +1,45 @@
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
from test import test_support
|
||||||
|
from Tkinter import Tcl, TclError
|
||||||
|
|
||||||
|
test_support.requires('gui')
|
||||||
|
|
||||||
|
class TkLoadTest(unittest.TestCase):
|
||||||
|
|
||||||
|
@unittest.skipIf('DISPLAY' not in os.environ, 'No $DISPLAY set.')
|
||||||
|
def testLoadTk(self):
|
||||||
|
tcl = Tcl()
|
||||||
|
self.assertRaises(TclError,tcl.winfo_geometry)
|
||||||
|
tcl.loadtk()
|
||||||
|
self.assertEqual('1x1+0+0', tcl.winfo_geometry())
|
||||||
|
tcl.destroy()
|
||||||
|
|
||||||
|
def testLoadTkFailure(self):
|
||||||
|
old_display = None
|
||||||
|
if sys.platform.startswith(('win', 'darwin', 'cygwin')):
|
||||||
|
# no failure possible on windows?
|
||||||
|
|
||||||
|
# XXX Maybe on tk older than 8.4.13 it would be possible,
|
||||||
|
# see tkinter.h.
|
||||||
|
return
|
||||||
|
with test_support.EnvironmentVarGuard() as env:
|
||||||
|
if 'DISPLAY' in os.environ:
|
||||||
|
del env['DISPLAY']
|
||||||
|
# on some platforms, deleting environment variables
|
||||||
|
# doesn't actually carry through to the process level
|
||||||
|
# because they don't support unsetenv
|
||||||
|
# If that's the case, abort.
|
||||||
|
display = os.popen('echo $DISPLAY').read().strip()
|
||||||
|
if display:
|
||||||
|
return
|
||||||
|
|
||||||
|
tcl = Tcl()
|
||||||
|
self.assertRaises(TclError, tcl.winfo_geometry)
|
||||||
|
self.assertRaises(TclError, tcl.loadtk)
|
||||||
|
|
||||||
|
tests_gui = (TkLoadTest, )
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
test_support.run_unittest(*tests_gui)
|
|
@ -127,37 +127,6 @@ class TclTest(unittest.TestCase):
|
||||||
tcl = self.interp
|
tcl = self.interp
|
||||||
self.assertRaises(TclError,tcl.eval,'package require DNE')
|
self.assertRaises(TclError,tcl.eval,'package require DNE')
|
||||||
|
|
||||||
def testLoadTk(self):
|
|
||||||
import os
|
|
||||||
if 'DISPLAY' not in os.environ:
|
|
||||||
# skipping test of clean upgradeability
|
|
||||||
return
|
|
||||||
tcl = Tcl()
|
|
||||||
self.assertRaises(TclError,tcl.winfo_geometry)
|
|
||||||
tcl.loadtk()
|
|
||||||
self.assertEqual('1x1+0+0', tcl.winfo_geometry())
|
|
||||||
tcl.destroy()
|
|
||||||
|
|
||||||
def testLoadTkFailure(self):
|
|
||||||
import os
|
|
||||||
old_display = None
|
|
||||||
import sys
|
|
||||||
if sys.platform.startswith(('win', 'darwin', 'cygwin')):
|
|
||||||
return # no failure possible on windows?
|
|
||||||
with test_support.EnvironmentVarGuard() as env:
|
|
||||||
if 'DISPLAY' in os.environ:
|
|
||||||
del env['DISPLAY']
|
|
||||||
# on some platforms, deleting environment variables
|
|
||||||
# doesn't actually carry through to the process level
|
|
||||||
# because they don't support unsetenv
|
|
||||||
# If that's the case, abort.
|
|
||||||
display = os.popen('echo $DISPLAY').read().strip()
|
|
||||||
if display:
|
|
||||||
return
|
|
||||||
|
|
||||||
tcl = Tcl()
|
|
||||||
self.assertRaises(TclError, tcl.winfo_geometry)
|
|
||||||
self.assertRaises(TclError, tcl.loadtk)
|
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
test_support.run_unittest(TclTest, TkinterTest)
|
test_support.run_unittest(TclTest, TkinterTest)
|
||||||
|
|
|
@ -1152,6 +1152,11 @@ Extension Modules
|
||||||
Tests
|
Tests
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
- Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to
|
||||||
|
Lib/lib-tk/test/test_tkinter/test_loadtk. With this, these tests demonstrate
|
||||||
|
the same behaviour as test_ttkguionly (and now also test_tk) which is to
|
||||||
|
skip the tests if DISPLAY is defined but can't be used.
|
||||||
|
|
||||||
- Issue #6152: New option '-j'/'--multiprocess' for regrtest allows running
|
- Issue #6152: New option '-j'/'--multiprocess' for regrtest allows running
|
||||||
regression tests in parallel, shortening the total runtime.
|
regression tests in parallel, shortening the total runtime.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue