Lines Matching defs:mmap
16 # Skip test if we can't import mmap.
17 mmap = import_module('mmap')
19 PAGESIZE = mmap.PAGESIZE
26 # Python's mmap module dup()s the file descriptor. Emscripten's FS layer
27 # does not materialize file changes through a dupped fd to a new mmap.
29 raise unittest.SkipTest("incompatible with Emscripten's mmap emulation.")
45 # Test mmap module on Unix systems and Windows
47 # Create a file to be mmap'ed.
55 m = mmap.mmap(f.fileno(), 2 * PAGESIZE)
84 # Test doing a regular expression match in an mmap'ed file
87 self.fail('regex match on mmap failed!')
106 # Try to seek beyond end of mmap...
144 m = mmap.mmap(f.fileno(), mapsize, access=mmap.ACCESS_READ)
147 # Ensuring that readonly mmap can't be slice assigned
155 # Ensuring that readonly mmap can't be item assigned
163 # Ensuring that readonly mmap can't be write() to
172 # Ensuring that readonly mmap can't be write_byte() to
181 # Ensuring that readonly mmap can't be resized
194 # Opening mmap with size too big
197 m = mmap.mmap(f.fileno(), mapsize+1)
204 self.fail("Opening mmap with size+1 should work on Windows.")
208 self.fail("Opening mmap with size+1 should raise ValueError.")
215 # Opening mmap with access=ACCESS_WRITE
217 m = mmap.mmap(f.fileno(), mapsize, access=mmap.ACCESS_WRITE)
229 # Opening mmap with access=ACCESS_COPY
231 m = mmap.mmap(f.fileno(), mapsize, access=mmap.ACCESS_COPY)
246 self.assertRaises(ValueError, mmap.mmap, f.fileno(), mapsize, access=4)
251 self.assertRaises(ValueError, mmap.mmap, f.fileno(), mapsize,
252 flags=mmap.MAP_PRIVATE,
253 prot=mmap.PROT_READ, access=mmap.ACCESS_WRITE)
256 prot = mmap.PROT_READ | getattr(mmap, 'PROT_EXEC', 0)
258 m = mmap.mmap(f.fileno(), mapsize, prot=prot)
265 self.assertRaises(OSError, mmap.mmap, -2, 4096)
276 m = mmap.mmap(f.fileno(), n)
292 m = mmap.mmap(f.fileno(), n)
310 m = mmap.mmap(f.fileno(), n)
327 mf = mmap.mmap(f.fileno(), 2**16, access=mmap.ACCESS_READ)
337 mmap.mmap(f.fileno(), 0) as mf:
350 with mmap.mmap(f.fileno(), 0, offset=65536, access=mmap.ACCESS_READ) as mf:
360 self.assertRaises(ValueError, mmap.mmap, f.fileno(), 0,
370 mf = mmap.mmap(f.fileno(), 10)
381 m = mmap.mmap(-1, len(data))
388 m = mmap.mmap(-1, 100)
403 m = mmap.mmap(-1, 1) # single byte
411 # anonymous mmap.mmap(-1, PAGE)
412 m = mmap.mmap(-1, PAGESIZE)
415 "anonymously mmap'ed contents should be zero")
423 m = mmap.mmap(-1, 16)
444 m = mmap.mmap(-1, 16)
454 m = mmap.mmap(-1, len(s))
468 m = mmap.mmap(-1, len(s))
491 return mmap.mmap (f.fileno(), 0)
498 "cannot mmap an empty file",
499 mmap.mmap, f.fileno(), 0,
500 access=mmap.ACCESS_READ)
506 halfsize = mmap.ALLOCATIONGRANULARITY
516 m = mmap.mmap(f.fileno(), mapsize, offset=offset)
526 m = mmap.mmap(f.fileno(), mapsize - halfsize, offset=halfsize)
560 class anon_mmap(mmap.mmap):
562 return mmap.mmap.__new__(klass, -1, *args, **kwargs)
565 @unittest.skipUnless(hasattr(mmap, 'PROT_READ'), "needs mmap.PROT_READ")
571 m = mmap.mmap(f.fileno(), mapsize, prot=mmap.PROT_READ)
575 self.assertIs(mmap.error, OSError)
582 m = mmap.mmap(f.fileno(), len(data))
613 m = mmap.mmap(-1, 1)
629 m1 = mmap.mmap(-1, len(data1), tagname=tagname1)
631 m2 = mmap.mmap(-1, len(data2), tagname=tagname1)
639 m1 = mmap.mmap(-1, len(data1), tagname=tagname1)
641 m2 = mmap.mmap(-1, len(data2), tagname=tagname2)
651 m1 = mmap.mmap(-1, 100)
653 m2 = mmap.mmap(-1, 100, tagname=tagname)
661 m = mmap.mmap(-1, 1000, tagname=tagname)
663 mmap.mmap(-1, 5000, tagname=tagname)[:] # same tagname, but larger size
672 m = mmap.mmap(f.fileno(), 0)
692 m = mmap.mmap(s.fileno(), 10)
697 with mmap.mmap(-1, 10) as m:
704 with mmap.mmap(-1, 10) as m:
711 # Check mmap objects are weakrefable
712 mm = mmap.mmap(-1, 16)
720 mm = mmap.mmap(-1, 16)
727 m = mmap.mmap(-1, 8192)
740 m = mmap.mmap(-1, 16)
749 mm = mmap.mmap(-1, 16)
755 # 'offset' must be a multiple of mmap.PAGESIZE on Linux.
761 r"<mmap.mmap closed=False, "
766 closed_mmap_repr_pat = re.compile(r"<mmap.mmap closed=True>")
768 offsets = tuple((mapsize // 2 // mmap.ALLOCATIONGRANULARITY)
769 * mmap.ALLOCATIONGRANULARITY for mapsize in mapsizes)
780 accint = getattr(mmap, access)
781 with mmap.mmap(fp.fileno(),
795 @unittest.skipUnless(hasattr(mmap.mmap, 'madvise'), 'needs madvise')
798 m = mmap.mmap(-1, size)
801 m.madvise(mmap.MADV_NORMAL, size)
803 m.madvise(mmap.MADV_NORMAL, -1)
805 m.madvise(mmap.MADV_NORMAL, 0, -1)
807 m.madvise(mmap.MADV_NORMAL, PAGESIZE, sys.maxsize)
808 self.assertEqual(m.madvise(mmap.MADV_NORMAL), None)
809 self.assertEqual(m.madvise(mmap.MADV_NORMAL, PAGESIZE), None)
810 self.assertEqual(m.madvise(mmap.MADV_NORMAL, PAGESIZE, size), None)
811 self.assertEqual(m.madvise(mmap.MADV_NORMAL, 0, 2), None)
812 self.assertEqual(m.madvise(mmap.MADV_NORMAL, 0, size), None)
816 """If the mmap is backed by the pagefile ensure a resize up can happen
823 m = mmap.mmap(-1, start_size)
831 """If the mmap is backed by the pagefile ensure a resize down up can happen
838 m = mmap.mmap(-1, start_size)
855 m1 = mmap.mmap(f.fileno(), start_size)
856 m2 = mmap.mmap(f.fileno(), start_size)
879 m1 = mmap.mmap(-1, start_size, tagname=tagname)
880 m2 = mmap.mmap(-1, start_size, tagname=tagname)
891 gh-103987: Test that mmap objects raise ValueError
892 for closed mmap files
904 m = mmap.mmap(self.f.fileno(), 100, access=self.access)
917 mmap.ACCESS_READ,
918 mmap.ACCESS_WRITE,
919 mmap.ACCESS_COPY,
920 mmap.ACCESS_DEFAULT,
924 mmap.ACCESS_WRITE,
925 mmap.ACCESS_COPY,
926 mmap.ACCESS_DEFAULT,
931 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
935 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
939 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
943 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
947 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
951 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
956 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
960 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
964 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
968 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
972 with self.assertRaisesRegex(ValueError, "mmap closed or invalid"):
1002 with mmap.mmap(f.fileno(), 0, offset=0x140000000, access=mmap.ACCESS_READ) as m:
1011 mmap.mmap(f.fileno(), 0x180000000, access=mmap.ACCESS_READ)
1013 mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
1014 with mmap.mmap(f.fileno(), 0x10000, access=mmap.ACCESS_READ) as m:
1017 # Issue 11277: mmap() with large (~4 GiB) sparse files crashes on OS X.
1024 with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as m: