raise ValueError("'size' must be a positive integer")
if create:
self._flags = _O_CREX | os.O_RDWR
+ if size == 0:
+ raise ValueError("'size' must be a positive number different from zero")
if name is None and not self._flags & os.O_EXCL:
raise ValueError("'name' can only be None if create=True")
sms.close()
+ # Test creating a shared memory segment with negative size
+ with self.assertRaises(ValueError):
+ sms_invalid = shared_memory.SharedMemory(create=True, size=-1)
+
+ # Test creating a shared memory segment with size 0
+ with self.assertRaises(ValueError):
+ sms_invalid = shared_memory.SharedMemory(create=True, size=0)
+
+ # Test creating a shared memory segment without size argument
+ with self.assertRaises(ValueError):
+ sms_invalid = shared_memory.SharedMemory(create=True)
+
def test_shared_memory_across_processes(self):
# bpo-40135: don't define shared memory block's name in case of
# the failure when we run multiprocessing tests in parallel.