@@ -4376,7 +4376,7 @@ def test_shared_memory_recreate(self):
43764376 self .addCleanup (shm2 .unlink )
43774377 self .assertEqual (shm2 ._name , names [1 ])
43784378
4379- @unittest .skipUnless (hasattr (shared_memory , "rename" ),
4379+ @unittest .skipUnless (hasattr (shared_memory . SharedMemory , "rename" ),
43804380 "requires SharedMomery.rename" )
43814381 def test_shared_memory_rename (self ):
43824382 name1 = self ._new_shm_name ('testrename01_tsmb' )
@@ -4387,6 +4387,30 @@ def test_shared_memory_rename(self):
43874387 sms .rename (name2 )
43884388 self .assertEqual (sms .name , name2 )
43894389
4390+ @unittest .skipUnless (hasattr (shared_memory .SharedMemory , "rename" ),
4391+ "requires SharedMomery.rename" )
4392+ def test_shared_memory_rename_noreplace (self ):
4393+ name1 = self ._new_shm_name ('testrename01_tsmb' )
4394+ name2 = self ._new_shm_name ('testrename02_tsmb' )
4395+ sms1 = shared_memory .SharedMemory (name1 , create = True , size = 512 )
4396+ sms2 = shared_memory .SharedMemory (name2 , create = True , size = 512 )
4397+ self .addCleanup (sms1 .unlink )
4398+ self .addCleanup (sms2 .unlink )
4399+
4400+ with self .assertRaises (FileExistsError ):
4401+ sms1 .rename (name2 , flags = shared_memory .SHM_RENAME_NOREPLACE )
4402+
4403+ @unittest .skipUnless (hasattr (shared_memory .SharedMemory , "rename" ),
4404+ "requires SharedMomery.rename" )
4405+ def test_shared_memory_rename_exchange (self ):
4406+ name1 = self ._new_shm_name ('testrename01_tsmb' )
4407+ name2 = self ._new_shm_name ('testrename02_tsmb' )
4408+ sms1 = shared_memory .SharedMemory (name1 , create = True , size = 512 )
4409+ sms2 = shared_memory .SharedMemory (name2 , create = True , size = 512 )
4410+ self .addCleanup (sms2 .unlink )
4411+
4412+ sms1 .rename (name2 , flags = shared_memory .SHM_RENAME_EXCHANGE )
4413+
43904414 def test_invalid_shared_memory_creation (self ):
43914415 # Test creating a shared memory segment with negative size
43924416 with self .assertRaises (ValueError ):
0 commit comments