mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-38018: Increase code coverage for multiprocessing.shared_memory (GH-15662)
This commit is contained in:
parent
64c6ac74e2
commit
d14e39c8d9
2 changed files with 25 additions and 0 deletions
|
@ -3719,6 +3719,30 @@ class _TestSharedMemory(BaseTestCase):
|
|||
self.assertLess(same_sms.size, 20*sms.size) # Size was ignored.
|
||||
same_sms.close()
|
||||
|
||||
# Creating Shared Memory Segment with -ve size
|
||||
with self.assertRaises(ValueError):
|
||||
shared_memory.SharedMemory(create=True, size=-2)
|
||||
|
||||
# Attaching Shared Memory Segment without a name
|
||||
with self.assertRaises(ValueError):
|
||||
shared_memory.SharedMemory(create=False)
|
||||
|
||||
# Test if shared memory segment is created properly,
|
||||
# when _make_filename returns an existing shared memory segment name
|
||||
with unittest.mock.patch(
|
||||
'multiprocessing.shared_memory._make_filename') as mock_make_filename:
|
||||
|
||||
names = ['test01_fn', 'test02_fn']
|
||||
mock_make_filename.side_effect = names
|
||||
shm1 = shared_memory.SharedMemory(create=True, size=1)
|
||||
self.addCleanup(shm1.unlink)
|
||||
self.assertEqual(shm1.name, names[0])
|
||||
|
||||
mock_make_filename.side_effect = names
|
||||
shm2 = shared_memory.SharedMemory(create=True, size=1)
|
||||
self.addCleanup(shm2.unlink)
|
||||
self.assertEqual(shm2.name, names[1])
|
||||
|
||||
if shared_memory._USE_POSIX:
|
||||
# Posix Shared Memory can only be unlinked once. Here we
|
||||
# test an implementation detail that is not observed across
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue