[Python-checkins] cpython (merge 3.3 -> default): Issue #18094: test_uuid no more reports skipped tests as passed.

serhiy.storchaka python-checkins at python.org
Fri May 31 21:35:35 CEST 2013


http://hg.python.org/cpython/rev/ebd11a19d830
changeset:   83994:ebd11a19d830
parent:      83992:0ebc9005cb00
parent:      83993:81c02d2c830d
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Fri May 31 22:34:00 2013 +0300
summary:
  Issue #18094: test_uuid no more reports skipped tests as passed.

files:
  Lib/test/test_uuid.py |  78 ++++++++++--------------------
  Misc/NEWS             |   3 +
  2 files changed, 30 insertions(+), 51 deletions(-)


diff --git a/Lib/test/test_uuid.py b/Lib/test/test_uuid.py
--- a/Lib/test/test_uuid.py
+++ b/Lib/test/test_uuid.py
@@ -1,6 +1,6 @@
-from unittest import TestCase
-from test import support
+import unittest
 import builtins
+import os
 import uuid
 
 def importable(name):
@@ -10,7 +10,7 @@
     except:
         return False
 
-class TestUUID(TestCase):
+class TestUUID(unittest.TestCase):
     last_node = None
     source2node = {}
 
@@ -310,24 +310,22 @@
         else:
             TestUUID.last_node = node
 
+    @unittest.skipUnless(os.name == 'posix', 'requires Posix')
     def test_ifconfig_getnode(self):
-        import sys
-        import os
-        if os.name == 'posix':
-            node = uuid._ifconfig_getnode()
-            if node is not None:
-                self.check_node(node, 'ifconfig')
+        node = uuid._ifconfig_getnode()
+        if node is not None:
+            self.check_node(node, 'ifconfig')
 
+    @unittest.skipUnless(os.name == 'nt', 'requires Windows')
     def test_ipconfig_getnode(self):
-        import os
-        if os.name == 'nt':
-            node = uuid._ipconfig_getnode()
-            if node is not None:
-                self.check_node(node, 'ipconfig')
+        node = uuid._ipconfig_getnode()
+        if node is not None:
+            self.check_node(node, 'ipconfig')
 
+    @unittest.skipUnless(importable('win32wnet'), 'requires win32wnet')
+    @unittest.skipUnless(importable('netbios'), 'requires netbios')
     def test_netbios_getnode(self):
-        if importable('win32wnet') and importable('netbios'):
-            self.check_node(uuid._netbios_getnode(), 'netbios')
+        self.check_node(uuid._netbios_getnode(), 'netbios')
 
     def test_random_getnode(self):
         node = uuid._random_getnode()
@@ -335,22 +333,20 @@
         self.assertTrue(node & 0x010000000000)
         self.assertTrue(node < (1 << 48))
 
+    @unittest.skipUnless(os.name == 'posix', 'requires Posix')
+    @unittest.skipUnless(importable('ctypes'), 'requires ctypes')
     def test_unixdll_getnode(self):
-        import sys
-        import os
-        if importable('ctypes') and os.name == 'posix':
-            try: # Issues 1481, 3581: _uuid_generate_time() might be None.
-                self.check_node(uuid._unixdll_getnode(), 'unixdll')
-            except TypeError:
-                pass
+        try: # Issues 1481, 3581: _uuid_generate_time() might be None.
+            self.check_node(uuid._unixdll_getnode(), 'unixdll')
+        except TypeError:
+            pass
 
+    @unittest.skipUnless(os.name == 'nt', 'requires Windows')
+    @unittest.skipUnless(importable('ctypes'), 'requires ctypes')
     def test_windll_getnode(self):
-        import os
-        if importable('ctypes') and os.name == 'nt':
-            self.check_node(uuid._windll_getnode(), 'windll')
+        self.check_node(uuid._windll_getnode(), 'windll')
 
     def test_getnode(self):
-        import sys
         node1 = uuid.getnode()
         self.check_node(node1, "getnode1")
 
@@ -360,13 +356,8 @@
 
         self.assertEqual(node1, node2)
 
+    @unittest.skipUnless(importable('ctypes'), 'requires ctypes')
     def test_uuid1(self):
-        # uuid1 requires ctypes.
-        try:
-            import ctypes
-        except ImportError:
-            return
-
         equal = self.assertEqual
 
         # Make sure uuid1() generates UUIDs that are actually version 1.
@@ -419,13 +410,8 @@
             equal(u, uuid.UUID(v))
             equal(str(u), v)
 
+    @unittest.skipUnless(importable('ctypes'), 'requires ctypes')
     def test_uuid4(self):
-        # uuid4 requires ctypes.
-        try:
-            import ctypes
-        except ImportError:
-            return
-
         equal = self.assertEqual
 
         # Make sure uuid4() generates UUIDs that are actually version 4.
@@ -457,12 +443,8 @@
             equal(u, uuid.UUID(v))
             equal(str(u), v)
 
+    @unittest.skipUnless(os.name == 'posix', 'requires Posix')
     def testIssue8621(self):
-        import os
-        import sys
-        if os.name != 'posix':
-            return
-
         # On at least some versions of OSX uuid.uuid4 generates
         # the same sequence of UUIDs in the parent and any
         # children started using fork.
@@ -483,11 +465,5 @@
             self.assertNotEqual(parent_value, child_value)
 
 
-
-
-
-def test_main():
-    support.run_unittest(TestUUID)
-
 if __name__ == '__main__':
-    test_main()
+    unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -80,6 +80,7 @@
 
 - Issue #14439: Python now prints the traceback on runpy failure at startup.
 
+
 - Issue #17469: Fix _Py_GetAllocatedBlocks() and sys.getallocatedblocks()
   when running on valgrind.
 
@@ -320,6 +321,8 @@
 Tests
 -----
 
+- Issue #18094: test_uuid no more reports skipped tests as passed.
+
 - Issue #17992: Add timeouts to asyncore and asynchat tests so that they won't
   accidentally hang.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list