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
|
||||
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():
|
||||
test_support.run_unittest(TclTest, TkinterTest)
|
||||
|
|
|
@ -1152,6 +1152,11 @@ Extension Modules
|
|||
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
|
||||
regression tests in parallel, shortening the total runtime.
|
||||
|
||||
|
|
Loading…
Reference in New Issue