Merged revisions 88036 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r88036 | antoine.pitrou | 2011-01-15 18:25:58 +0100 (sam., 15 janv. 2011) | 3 lines

  Fix mmap and test_mmap under Windows too (followup to r88022)
........
This commit is contained in:
Antoine Pitrou 2011-01-15 17:40:00 +00:00
parent 9989d857eb
commit 533aa25b48
2 changed files with 10 additions and 5 deletions

View File

@ -331,13 +331,17 @@ class MmapTests(unittest.TestCase):
# map length with an offset doesn't cause a segfault.
if not hasattr(os, "stat"):
self.skipTest("needs os.stat")
with open(TESTFN, "wb+") as f:
f.write(49152 * b'm') # Arbitrary character
# NOTE: allocation granularity is currently 65536 under Win64,
# and therefore the minimum offset alignment.
with open(TESTFN, "wb") as f:
f.write((65536 * 2) * b'm') # Arbitrary character
with open(TESTFN, "rb") as f:
mf = mmap.mmap(f.fileno(), 0, offset=40960, access=mmap.ACCESS_READ)
self.assertRaises(IndexError, mf.__getitem__, 45000)
mf.close()
mf = mmap.mmap(f.fileno(), 0, offset=65536, access=mmap.ACCESS_READ)
try:
self.assertRaises(IndexError, mf.__getitem__, 80000)
finally:
mf.close()
def test_move(self):
# make move works everywhere (64-bit format problem earlier)

View File

@ -1346,6 +1346,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
else
m_obj->size = low;
#endif
m_obj->size -= offset;
} else {
m_obj->size = map_size;
}