[pypy-commit] pypy cpyext-old-buffers: Add tests for mmap.
devin.jeanpierre
pypy.commits at gmail.com
Fri May 13 13:52:44 EDT 2016
Author: Devin Jeanpierre <jeanpierreda at gmail.com>
Branch: cpyext-old-buffers
Changeset: r84425:e70d01e7e0de
Date: 2016-05-11 16:51 -0700
http://bitbucket.org/pypy/pypy/changeset/e70d01e7e0de/
Log: Add tests for mmap.
Basically just checkpointing before I go off sideways into a totally
different strategy -- it was recommended that I try to solve this in
the general case instead of special-casing mmap. Fair enough.
diff --git a/pypy/module/cpyext/test/test_abstract.py b/pypy/module/cpyext/test/test_abstract.py
--- a/pypy/module/cpyext/test/test_abstract.py
+++ b/pypy/module/cpyext/test/test_abstract.py
@@ -1,10 +1,14 @@
from pypy.module.cpyext.test.test_cpyext import AppTestCpythonExtensionBase
-
+import pytest
class AppTestBufferProtocol(AppTestCpythonExtensionBase):
"""Tests for the old buffer protocol."""
+ spaceconfig = AppTestCpythonExtensionBase.spaceconfig.copy()
+ # Also allow mmap to be importable.
+ spaceconfig['usemodules'] = list(spaceconfig['usemodules']) + ['mmap']
+
def w_get_buffer_support(self):
- return self.import_extension('foo', [
+ return self.import_extension('buffer_support', [
("charbuffer_as_string", "METH_O",
"""
char *ptr;
@@ -55,3 +59,17 @@
assert s == buffer_support.readbuffer_as_string(buf)
assert raises(TypeError, buffer_support.writebuffer_as_string, buf)
assert s == buffer_support.charbuffer_as_string(buf)
+
+ @pytest.mark.xfail
+ def test_mmap(self):
+ import mmap
+ buffer_support = self.get_buffer_support()
+
+ s = 'a\0x'
+ mm = mmap.mmap(-1, 3)
+ mm[:] = s
+
+ assert buffer_support.check_readbuffer(mm)
+ assert s == buffer_support.readbuffer_as_string(mm)
+ assert s == buffer_support.writebuffer_as_string(mm)
+ assert s == buffer_support.charbuffer_as_string(mm)
More information about the pypy-commit
mailing list