Browse Source

bpo-38018: Increase code coverage for multiprocessing.shared_memory (GH-15662)

pull/15809/head
Vinay Sharma 6 years ago
committed by Davin Potts
parent
commit
d14e39c8d9
  1. 24
      Lib/test/_test_multiprocessing.py
  2. 1
      Misc/NEWS.d/next/Tests/2019-09-03-19-33-10.bpo-38018.zTrMu7.rst

24
Lib/test/_test_multiprocessing.py

@ -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

1
Misc/NEWS.d/next/Tests/2019-09-03-19-33-10.bpo-38018.zTrMu7.rst

@ -0,0 +1 @@
Increase code coverage for multiprocessing.shared_memory.
Loading…
Cancel
Save