[pypy-commit] pypy py3k: Fix mmap tests

amauryfa noreply at buildbot.pypy.org
Thu Jun 27 00:24:54 CEST 2013


Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: py3k
Changeset: r65029:49725b81d6b9
Date: 2013-06-27 00:24 +0200
http://bitbucket.org/pypy/pypy/changeset/49725b81d6b9/

Log:	Fix mmap tests

diff --git a/pypy/module/mmap/interp_mmap.py b/pypy/module/mmap/interp_mmap.py
--- a/pypy/module/mmap/interp_mmap.py
+++ b/pypy/module/mmap/interp_mmap.py
@@ -170,7 +170,7 @@
         if step == 0:  # index only
             return space.wrap(ord(self.mmap.getitem(start)))
         elif step == 1:
-            return space.wrap(self.mmap.getslice(start, stop - start))
+            return space.wrapbytes(self.mmap.getslice(start, stop - start))
         else:
             res = "".join([self.mmap.getitem(i)
                            for i in range(start, stop, step)])
diff --git a/pypy/module/mmap/test/test_mmap.py b/pypy/module/mmap/test/test_mmap.py
--- a/pypy/module/mmap/test/test_mmap.py
+++ b/pypy/module/mmap/test/test_mmap.py
@@ -522,7 +522,7 @@
 
         f.seek(0)
         m = mmap(f.fileno(), 6)
-        assert m[-3:7] == b"bar"
+        assert eval('m[-3:7]') == b"bar"
 
         f.close()
 
@@ -542,20 +542,18 @@
 
     def test_buffer_write(self):
         from mmap import mmap
-        f = open(self.tmpname + "y", "w+")
-        f.write("foobar")
+        f = open(self.tmpname + "y", "wb+")
+        f.write(b"foobar")
         f.flush()
         m = mmap(f.fileno(), 6)
-        m[5] = '?'
-        b = buffer(m)
-        try:
-            b[:3] = "FOO"
-        except TypeError:     # on CPython: "buffer is read-only" :-/
-            skip("on CPython: buffer is read-only")
+        m[5] = ord('?')
+        b = memoryview(m)
+        b[:3] = b"FOO"
+        del b  # For CPython: "cannot close exported pointers exist"
         m.close()
         f.seek(0)
         got = f.read()
-        assert got == "FOOba?"
+        assert got == b"FOOba?"
         f.close()
 
     def test_offset(self):


More information about the pypy-commit mailing list