Patches #749830, #1144555: allow UNIX mmap size to default to current

file size.
This commit is contained in:
Martin v. Löwis 2005-03-03 11:22:44 +00:00
parent df37c8c1ad
commit 7fe60c0a0a
5 changed files with 53 additions and 7 deletions

View file

@ -311,7 +311,43 @@ def test_both():
finally:
os.unlink(TESTFN)
# test mapping of entire file by passing 0 for map length
if hasattr(os, "stat"):
print " Ensuring that passing 0 as map length sets map size to current file size."
f = open(TESTFN, "w+")
try:
f.write(2**16 * 'm') # Arbitrary character
f.close()
f = open(TESTFN, "rb+")
mf = mmap.mmap(f.fileno(), 0)
verify(len(mf) == 2**16, "Map size should equal file size.")
vereq(mf.read(2**16), 2**16 * "m")
mf.close()
f.close()
finally:
os.unlink(TESTFN)
# test mapping of entire file by passing 0 for map length
if hasattr(os, "stat"):
print " Ensuring that passing 0 as map length sets map size to current file size."
f = open(TESTFN, "w+")
try:
f.write(2**16 * 'm') # Arbitrary character
f.close()
f = open(TESTFN, "rb+")
mf = mmap.mmap(f.fileno(), 0)
verify(len(mf) == 2**16, "Map size should equal file size.")
vereq(mf.read(2**16), 2**16 * "m")
mf.close()
f.close()
finally:
os.unlink(TESTFN)
print ' Test passed'
test_both()