# Try writing with PROT_EXEC and without PROT_WRITE
prot = mmap.PROT_READ | getattr(mmap, 'PROT_EXEC', 0)
with open(TESTFN, "r+b") as f:
- m = mmap.mmap(f.fileno(), mapsize, prot=prot)
- self.assertRaises(TypeError, m.write, b"abcdef")
- self.assertRaises(TypeError, m.write_byte, 0)
- m.close()
+ try:
+ m = mmap.mmap(f.fileno(), mapsize, prot=prot)
+ except PermissionError:
+ # on macOS 14, PROT_READ | PROT_WRITE is not allowed
+ pass
+ else:
+ self.assertRaises(TypeError, m.write, b"abcdef")
+ self.assertRaises(TypeError, m.write_byte, 0)
+ m.close()
def test_bad_file_desc(self):
# Try opening a bad file descriptor...