[pypy-commit] pypy default: Update to cffi 0.9.2.
arigo
noreply at buildbot.pypy.org
Fri Mar 13 15:04:27 CET 2015
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r76361:a240afa2a1fb
Date: 2015-03-13 15:04 +0100
http://bitbucket.org/pypy/pypy/changeset/a240afa2a1fb/
Log: Update to cffi 0.9.2.
diff --git a/lib_pypy/cffi.egg-info b/lib_pypy/cffi.egg-info
--- a/lib_pypy/cffi.egg-info
+++ b/lib_pypy/cffi.egg-info
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: cffi
-Version: 0.9.1
+Version: 0.9.2
Summary: Foreign Function Interface for Python calling C code.
Home-page: http://cffi.readthedocs.org
Author: Armin Rigo, Maciej Fijalkowski
diff --git a/lib_pypy/cffi/__init__.py b/lib_pypy/cffi/__init__.py
--- a/lib_pypy/cffi/__init__.py
+++ b/lib_pypy/cffi/__init__.py
@@ -4,8 +4,8 @@
from .api import FFI, CDefError, FFIError
from .ffiplatform import VerificationError, VerificationMissing
-__version__ = "0.9.1"
-__version_info__ = (0, 9, 1)
+__version__ = "0.9.2"
+__version_info__ = (0, 9, 2)
# The verifier module file names are based on the CRC32 of a string that
# contains the following version number. It may be older than __version__
diff --git a/pypy/module/_cffi_backend/__init__.py b/pypy/module/_cffi_backend/__init__.py
--- a/pypy/module/_cffi_backend/__init__.py
+++ b/pypy/module/_cffi_backend/__init__.py
@@ -2,7 +2,7 @@
from pypy.interpreter.mixedmodule import MixedModule
from rpython.rlib import rdynload
-VERSION = "0.9.1"
+VERSION = "0.9.2"
class Module(MixedModule):
diff --git a/pypy/module/_cffi_backend/test/_backend_test_c.py b/pypy/module/_cffi_backend/test/_backend_test_c.py
--- a/pypy/module/_cffi_backend/test/_backend_test_c.py
+++ b/pypy/module/_cffi_backend/test/_backend_test_c.py
@@ -3247,6 +3247,88 @@
cast(p, c)[1] += 500
assert list(a) == [10000, 20500, 30000]
+def test_from_buffer_not_str_unicode_bytearray():
+ BChar = new_primitive_type("char")
+ BCharP = new_pointer_type(BChar)
+ BCharA = new_array_type(BCharP, None)
+ py.test.raises(TypeError, from_buffer, BCharA, b"foo")
+ py.test.raises(TypeError, from_buffer, BCharA, u"foo")
+ py.test.raises(TypeError, from_buffer, BCharA, bytearray(b"foo"))
+ try:
+ from __builtin__ import buffer
+ except ImportError:
+ pass
+ else:
+ py.test.raises(TypeError, from_buffer, BCharA, buffer(b"foo"))
+ py.test.raises(TypeError, from_buffer, BCharA, buffer(u"foo"))
+ py.test.raises(TypeError, from_buffer, BCharA,
+ buffer(bytearray(b"foo")))
+ try:
+ from __builtin__ import memoryview
+ except ImportError:
+ pass
+ else:
+ py.test.raises(TypeError, from_buffer, BCharA, memoryview(b"foo"))
+ py.test.raises(TypeError, from_buffer, BCharA,
+ memoryview(bytearray(b"foo")))
+
+def test_from_buffer_more_cases():
+ try:
+ from _cffi_backend import _testbuff
+ except ImportError:
+ py.test.skip("not for pypy")
+ BChar = new_primitive_type("char")
+ BCharP = new_pointer_type(BChar)
+ BCharA = new_array_type(BCharP, None)
+ #
+ def check1(bufobj, expected):
+ c = from_buffer(BCharA, bufobj)
+ assert typeof(c) is BCharA
+ if sys.version_info >= (3,):
+ expected = [bytes(c, "ascii") for c in expected]
+ assert list(c) == list(expected)
+ #
+ def check(methods, expected, expected_for_memoryview=None):
+ if sys.version_info >= (3,):
+ if methods <= 7:
+ return
+ if expected_for_memoryview is not None:
+ expected = expected_for_memoryview
+ class X(object):
+ pass
+ _testbuff(X, methods)
+ bufobj = X()
+ check1(bufobj, expected)
+ try:
+ from __builtin__ import buffer
+ bufobjb = buffer(bufobj)
+ except (TypeError, ImportError):
+ pass
+ else:
+ check1(bufobjb, expected)
+ try:
+ bufobjm = memoryview(bufobj)
+ except (TypeError, NameError):
+ pass
+ else:
+ check1(bufobjm, expected_for_memoryview or expected)
+ #
+ check(1, "RDB")
+ check(2, "WRB")
+ check(4, "CHB")
+ check(8, "GTB")
+ check(16, "ROB")
+ #
+ check(1 | 2, "RDB")
+ check(1 | 4, "RDB")
+ check(2 | 4, "CHB")
+ check(1 | 8, "RDB", "GTB")
+ check(1 | 16, "RDB", "ROB")
+ check(2 | 8, "WRB", "GTB")
+ check(2 | 16, "WRB", "ROB")
+ check(4 | 8, "CHB", "GTB")
+ check(4 | 16, "CHB", "ROB")
+
def test_version():
# this test is here mostly for PyPy
- assert __version__ == "0.9.1"
+ assert __version__ == "0.9.2"
diff --git a/pypy/module/test_lib_pypy/cffi_tests/test_zintegration.py b/pypy/module/test_lib_pypy/cffi_tests/test_zintegration.py
--- a/pypy/module/test_lib_pypy/cffi_tests/test_zintegration.py
+++ b/pypy/module/test_lib_pypy/cffi_tests/test_zintegration.py
@@ -27,7 +27,10 @@
if e.errno in (errno.ENOTDIR, errno.EINVAL):
shutil.copy(src, dst)
else:
- print 'got errno',e.errno,'not',errno.ENOTDIR
+ print('got errno')
+ print(e.errno)
+ print('not')
+ print(errno.ENOTDIR)
raise
site_packages = None
More information about the pypy-commit
mailing list