[pypy-commit] pypy buffer-interface2: test, fix whoops for not assigning the buf when readonly
mattip
pypy.commits at gmail.com
Thu Sep 29 13:33:21 EDT 2016
Author: Matti Picus <matti.picus at gmail.com>
Branch: buffer-interface2
Changeset: r87451:64cae72e4923
Date: 2016-09-29 16:32 +0300
http://bitbucket.org/pypy/pypy/changeset/64cae72e4923/
Log: test, fix whoops for not assigning the buf when readonly
diff --git a/pypy/module/cpyext/memoryobject.py b/pypy/module/cpyext/memoryobject.py
--- a/pypy/module/cpyext/memoryobject.py
+++ b/pypy/module/cpyext/memoryobject.py
@@ -147,6 +147,7 @@
except ValueError:
w_s = w_obj.descr_tobytes(space)
view.c_obj = make_ref(space, w_s)
+ view.c_buf = rffi.cast(rffi.VOIDP, rffi.str2charp(space.str_w(w_s), track_allocation=False))
rffi.setintfield(view, 'c_readonly', 1)
isstr = True
fill_Py_buffer(space, w_obj.buf, view)
diff --git a/pypy/module/cpyext/test/test_memoryobject.py b/pypy/module/cpyext/test/test_memoryobject.py
--- a/pypy/module/cpyext/test/test_memoryobject.py
+++ b/pypy/module/cpyext/test/test_memoryobject.py
@@ -23,6 +23,8 @@
assert w_view.c_shape[0] == 5
assert w_view.c_strides[0] == 1
assert w_view.c_len == 5
+ o = rffi.charp2str(w_view.c_buf)
+ assert o == 'hello'
class AppTestBufferProtocol(AppTestCpythonExtensionBase):
def test_buffer_protocol(self):
More information about the pypy-commit
mailing list