summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Heller <theller@ctypes.org>2007-07-12 19:22:10 (GMT)
committerThomas Heller <theller@ctypes.org>2007-07-12 19:22:10 (GMT)
commit9ccf4683239f945ca4e6696fc17575be5e896ac8 (patch)
treef85d9958f6b8f449caa07aa970814e725cc1e9f2
parent7775c716fcf28346e2e79238d6e5080d5a1bcc81 (diff)
downloadcpython-9ccf4683239f945ca4e6696fc17575be5e896ac8.zip
cpython-9ccf4683239f945ca4e6696fc17575be5e896ac8.tar.gz
cpython-9ccf4683239f945ca4e6696fc17575be5e896ac8.tar.bz2
test_slicing does not segfault under linux anymore, so we can run this
test by default.
-rw-r--r--Lib/ctypes/test/test_slicing.py78
1 files changed, 38 insertions, 40 deletions
diff --git a/Lib/ctypes/test/test_slicing.py b/Lib/ctypes/test/test_slicing.py
index ab01c18..edcdbc0 100644
--- a/Lib/ctypes/test/test_slicing.py
+++ b/Lib/ctypes/test/test_slicing.py
@@ -34,47 +34,45 @@ class SlicesTestCase(unittest.TestCase):
# 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"
-
- dll = CDLL(_ctypes_test.__file__)
- dll.my_strdup.restype = POINTER(c_char)
- dll.my_free.restype = None
+ 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)
+ 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)], 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, s)
- finally:
- del dll.my_strdup.errcheck
+ self.failUnlessEqual(res, s)
+ finally:
+ del dll.my_strdup.errcheck
def test_char_array(self):