Author: Richard Plangger <[email protected]>
Branch: strbuf-as-buffer
Changeset: r2831:a00f88374679
Date: 2016-12-09 15:52 +0100
http://bitbucket.org/cffi/cffi/changeset/a00f88374679/

Log:    pypy now can get a raw address from a StringBuffer, modify test

diff --git a/c/test_c.py b/c/test_c.py
--- a/c/test_c.py
+++ b/c/test_c.py
@@ -3428,22 +3428,28 @@
     assert p1 == from_buffer(BCharA, b"foo")
     import gc; gc.collect()
     assert p1 == from_buffer(BCharA, b"foo")
-    py.test.raises(TypeError, from_buffer, BCharA, u+"foo")
     try:
         from __builtin__ import buffer
     except ImportError:
-        pass
+        # python3 does not allow a buffer from unicode!
+        raises(TypeError, from_buffer, BCharA, u+"foo")
     else:
-        # from_buffer(buffer(b"foo")) does not work, because it's not
-        # implemented on pypy; only from_buffer(b"foo") works.
-        py.test.raises(TypeError, from_buffer, BCharA, buffer(b"foo"))
-        py.test.raises(TypeError, from_buffer, BCharA, buffer(u+"foo"))
+        contents = from_buffer(BCharA, buffer(b"foo"))
+        for i in range(len(contents)):
+            assert contents[i] == p1[i]
+        p4 = from_buffer(BCharA, u+"foo")
+        contents = from_buffer(BCharA, buffer(u+"foo"))
+        for i in range(len(contents)):
+            assert contents[i] == p4[i]
     try:
         from __builtin__ import memoryview
     except ImportError:
         pass
     else:
-        py.test.raises(TypeError, from_buffer, BCharA, memoryview(b"foo"))
+        contents = from_buffer(BCharA, memoryview(b"foo"))
+        for i in range(len(contents)):
+            assert contents[i] == p1[i]
+
 
 def test_from_buffer_bytearray():
     a = bytearray(b"xyz")
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to