Author: Armin Rigo <[email protected]>
Branch:
Changeset: r842:5ba0cba5e638
Date: 2012-08-13 09:00 +0000
http://bitbucket.org/cffi/cffi/changeset/5ba0cba5e638/
Log: Skip the ffi.buffer() tests with the ctypes backend on top of PyPy.
diff --git a/cffi/backend_ctypes.py b/cffi/backend_ctypes.py
--- a/cffi/backend_ctypes.py
+++ b/cffi/backend_ctypes.py
@@ -1,6 +1,5 @@
import ctypes, ctypes.util, operator, sys
from . import model
-import sys
if sys.version_info < (3,):
integer_types = (int, long)
@@ -972,6 +971,8 @@
return view.cast('B')
# haaaaaaaaaaaack
+ if '__pypy__' in sys.builtin_module_names:
+ raise NotImplementedError("PyPy: ffi.buffer() with ctypes backend")
call = ctypes.pythonapi.PyBuffer_FromReadWriteMemory
call.argtypes = (ctypes.c_void_p, ctypes.c_size_t)
call.restype = ctypes.py_object
diff --git a/testing/backend_tests.py b/testing/backend_tests.py
--- a/testing/backend_tests.py
+++ b/testing/backend_tests.py
@@ -1066,7 +1066,10 @@
def test_ffi_buffer_ptr(self):
ffi = FFI(backend=self.Backend())
a = ffi.new("short *", 100)
- b = ffi.buffer(a)
+ try:
+ b = ffi.buffer(a)
+ except NotImplementedError as e:
+ py.test.skip(str(e))
if sys.version < '3':
assert type(b) is buffer
content = str(b)
@@ -1085,7 +1088,10 @@
def test_ffi_buffer_array(self):
ffi = FFI(backend=self.Backend())
a = ffi.new("int[]", list(range(100, 110)))
- b = ffi.buffer(a)
+ try:
+ b = ffi.buffer(a)
+ except NotImplementedError as e:
+ py.test.skip(str(e))
if sys.version < '3':
assert type(b) is buffer
content = str(b)
@@ -1104,7 +1110,10 @@
def test_ffi_buffer_ptr_size(self):
ffi = FFI(backend=self.Backend())
a = ffi.new("short *", 0x4243)
- b = ffi.buffer(a, 1)
+ try:
+ b = ffi.buffer(a, 1)
+ except NotImplementedError as e:
+ py.test.skip(str(e))
if sys.version < '3':
assert type(b) is buffer
content = str(b)
@@ -1125,6 +1134,10 @@
ffi = FFI(backend=self.Backend())
a1 = ffi.new("int[]", list(range(100, 110)))
a2 = ffi.new("int[]", list(range(100, 115)))
+ try:
+ ffi.buffer(a1)
+ except NotImplementedError as e:
+ py.test.skip(str(e))
if sys.version < '3':
assert str(ffi.buffer(a1)) == str(ffi.buffer(a2, 4*10))
else:
@@ -1136,6 +1149,10 @@
fd, filename = tempfile.mkstemp()
f = os.fdopen(fd, 'r+b')
a = ffi.new("int[]", list(range(1005)))
+ try:
+ ffi.buffer(a, 512)
+ except NotImplementedError as e:
+ py.test.skip(str(e))
f.write(ffi.buffer(a, 1000 * ffi.sizeof("int")))
f.seek(0)
assert f.read() == array.array('i', range(1000)).tostring()
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit