]> granicus.if.org Git - python/commitdiff
Issue #25003: Skip test_os.URandomFDTests on Solaris 11.3 and newer
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 18 Sep 2015 14:24:31 +0000 (16:24 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Fri, 18 Sep 2015 14:24:31 +0000 (16:24 +0200)
When os.urandom() is implemented with the getrandom() function, it doesn't use
a file descriptor.

Lib/test/test_os.py

index b73b64ba1f0e48d3fc551fa6ab1dbbc5ced1ca4c..d4b9e9cc63b4980397fed2ac041270ff501fe827 100644 (file)
@@ -1225,13 +1225,15 @@ class URandomTests(unittest.TestCase):
         self.assertNotEqual(data1, data2)
 
 
-HAVE_GETENTROPY = (sysconfig.get_config_var('HAVE_GETENTROPY') == 1)
-HAVE_GETRANDOM = (sysconfig.get_config_var('HAVE_GETRANDOM_SYSCALL') == 1)
-
-@unittest.skipIf(HAVE_GETENTROPY,
-                 "getentropy() does not use a file descriptor")
-@unittest.skipIf(HAVE_GETRANDOM,
-                 "getrandom() does not use a file descriptor")
+# os.urandom() doesn't use a file descriptor when it is implemented with the
+# getentropy() function, the getrandom() function or the getrandom() syscall
+OS_URANDOM_DONT_USE_FD = (
+    sysconfig.get_config_var('HAVE_GETENTROPY') == 1
+    or sysconfig.get_config_var('HAVE_GETRANDOM') == 1
+    or sysconfig.get_config_var('HAVE_GETRANDOM_SYSCALL') == 1)
+
+@unittest.skipIf(OS_URANDOM_DONT_USE_FD ,
+                 "os.random() does not use a file descriptor")
 class URandomFDTests(unittest.TestCase):
     @unittest.skipUnless(resource, "test requires the resource module")
     def test_urandom_failure(self):