[Python-3000-checkins] r56328 - python/branches/py3k-struni/Lib/ctypes/test/test_slicing.py

thomas.heller python-3000-checkins at python.org
Thu Jul 12 21:22:10 CEST 2007


Author: thomas.heller
Date: Thu Jul 12 21:22:10 2007
New Revision: 56328

Modified:
   python/branches/py3k-struni/Lib/ctypes/test/test_slicing.py
Log:
test_slicing does not segfault under linux anymore, so we can run this
test by default.


Modified: python/branches/py3k-struni/Lib/ctypes/test/test_slicing.py
==============================================================================
--- python/branches/py3k-struni/Lib/ctypes/test/test_slicing.py	(original)
+++ python/branches/py3k-struni/Lib/ctypes/test/test_slicing.py	Thu Jul 12 21:22:10 2007
@@ -34,47 +34,45 @@
         # ValueError: Can only assign sequence of same size
         self.assertRaises(ValueError, setslice, a, 0, 5, range(32))
 
-    from ctypes.test import is_resource_enabled
-    if is_resource_enabled("struni-crash"):
-        def test_char_ptr(self):
-            s = b"abcdefghijklmnopqrstuvwxyz"
+    def test_char_ptr(self):
+        s = b"abcdefghijklmnopqrstuvwxyz"
 
-            dll = CDLL(_ctypes_test.__file__)
-            dll.my_strdup.restype = POINTER(c_char)
-            dll.my_free.restype = None
-            res = dll.my_strdup(s)
-            self.failUnlessEqual(res[:len(s)], s)
-
-            import operator
-            self.assertRaises(TypeError, operator.setslice,
-                              res, 0, 5, "abcde")
-            dll.my_free(res)
-
-            dll.my_strdup.restype = POINTER(c_byte)
+        dll = CDLL(_ctypes_test.__file__)
+        dll.my_strdup.restype = POINTER(c_char)
+        dll.my_free.restype = None
+        res = dll.my_strdup(s)
+        self.failUnlessEqual(res[:len(s)], s)
+
+        import operator
+        self.assertRaises(TypeError, operator.setslice,
+                          res, 0, 5, "abcde")
+        dll.my_free(res)
+
+        dll.my_strdup.restype = POINTER(c_byte)
+        res = dll.my_strdup(s)
+        self.failUnlessEqual(res[:len(s)], list(range(ord("a"), ord("z")+1)))
+        dll.my_free(res)
+
+    def test_char_ptr_with_free(self):
+        dll = CDLL(_ctypes_test.__file__)
+        s = b"abcdefghijklmnopqrstuvwxyz"
+
+        class allocated_c_char_p(c_char_p):
+            pass
+
+        dll.my_free.restype = None
+        def errcheck(result, func, args):
+            retval = result.value
+            dll.my_free(result)
+            return retval
+
+        dll.my_strdup.restype = allocated_c_char_p
+        dll.my_strdup.errcheck = errcheck
+        try:
             res = dll.my_strdup(s)
-            self.failUnlessEqual(res[:len(s)], list(range(ord("a"), ord("z")+1)))
-            dll.my_free(res)
-
-        def test_char_ptr_with_free(self):
-            dll = CDLL(_ctypes_test.__file__)
-            s = b"abcdefghijklmnopqrstuvwxyz"
-
-            class allocated_c_char_p(c_char_p):
-                pass
-
-            dll.my_free.restype = None
-            def errcheck(result, func, args):
-                retval = result.value
-                dll.my_free(result)
-                return retval
-
-            dll.my_strdup.restype = allocated_c_char_p
-            dll.my_strdup.errcheck = errcheck
-            try:
-                res = dll.my_strdup(s)
-                self.failUnlessEqual(res, s)
-            finally:
-                del dll.my_strdup.errcheck
+            self.failUnlessEqual(res, s)
+        finally:
+            del dll.my_strdup.errcheck
 
 
     def test_char_array(self):


More information about the Python-3000-checkins mailing list