]> granicus.if.org Git - python/commitdiff
Merged revisions 73495 via svnmerge from
authorGuilherme Polo <ggpolo@gmail.com>
Sun, 21 Jun 2009 17:40:07 +0000 (17:40 +0000)
committerGuilherme Polo <ggpolo@gmail.com>
Sun, 21 Jun 2009 17:40:07 +0000 (17:40 +0000)
svn+ssh://pythondev/python/trunk

........
  r73495 | guilherme.polo | 2009-06-21 14:22:50 -0300 (Sun, 21 Jun 2009) | 4 lines

  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.
........

Lib/test/test_tcl.py
Lib/tkinter/test/test_tkinter/test_loadtk.py [new file with mode: 0644]
Misc/NEWS

index cfff971dbf2b8442bb791bcb603535dbadfbf34c..eebdd255b82616eb66b7bd4e0f83114fbf7cdc61 100644 (file)
@@ -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 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():
     support.run_unittest(TclTest, TkinterTest)
diff --git a/Lib/tkinter/test/test_tkinter/test_loadtk.py b/Lib/tkinter/test/test_tkinter/test_loadtk.py
new file mode 100644 (file)
index 0000000..8f1a085
--- /dev/null
@@ -0,0 +1,45 @@
+import os
+import sys
+import unittest
+import test.support as 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)
index 9adcfdf21044b59475d97e6c2f9b1a6ccb0b223f..7ecb6d70c13b30ade8d8ec3429f3e6ab7f9188cf 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1337,6 +1337,11 @@ Extension Modules
 Tests
 -----
 
+- Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to
+  Lib/tkinter/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.
+
 - regrtest no longer treats ImportError as equivalent to SkipTest.  Imports
   that should cause a test to be skipped are now done using import_module
   from test support, which does the conversion.