summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/output/test_mmapbin346 -> 520 bytes
-rw-r--r--Lib/test/test_mmap.py37
2 files changed, 36 insertions, 1 deletions
diff --git a/Lib/test/output/test_mmap b/Lib/test/output/test_mmap
index f3efcd0..0e880e3 100644
--- a/Lib/test/output/test_mmap
+++ b/Lib/test/output/test_mmap
Binary files differ
diff --git a/Lib/test/test_mmap.py b/Lib/test/test_mmap.py
index e5da187..c3cafca 100644
--- a/Lib/test/test_mmap.py
+++ b/Lib/test/test_mmap.py
@@ -58,7 +58,42 @@ def test_both():
assert start == PAGESIZE
assert end == PAGESIZE + 6
-
+
+ # test seeking around (try to overflow the seek implementation)
+ m.seek(0,0)
+ print ' Seek to zeroth byte'
+ assert m.tell() == 0
+ m.seek(42,1)
+ print ' Seek to 42nd byte'
+ assert m.tell() == 42
+ m.seek(0,2)
+ print ' Seek to last byte'
+ assert m.tell() == len(m)
+
+ print ' Try to seek to negative position...'
+ try:
+ m.seek(-1)
+ except ValueError:
+ pass
+ else:
+ assert 0, 'expected a ValueError but did not get it'
+
+ print ' Try to seek beyond end of mmap...'
+ try:
+ m.seek(1,2)
+ except ValueError:
+ pass
+ else:
+ assert 0, 'expected a ValueError but did not get it'
+
+ print ' Try to seek to negative position...'
+ try:
+ m.seek(-len(m)-1,2)
+ except ValueError:
+ pass
+ else:
+ assert 0, 'expected a ValueError but did not get it'
+
m.close()
os.unlink("foo")
print ' Test passed'