From: Vinay Sharma Date: Mon, 9 Sep 2019 16:48:55 +0000 (+0530) Subject: bpo-38018: Increase code coverage for multiprocessing.shared_memory (GH-15662) X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d14e39c8d9a9b525c7dcd83b2a260e2707fa85c1;p=python bpo-38018: Increase code coverage for multiprocessing.shared_memory (GH-15662) --- diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 2fe0def2bc..8269b879eb 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/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 diff --git a/Misc/NEWS.d/next/Tests/2019-09-03-19-33-10.bpo-38018.zTrMu7.rst b/Misc/NEWS.d/next/Tests/2019-09-03-19-33-10.bpo-38018.zTrMu7.rst new file mode 100644 index 0000000000..3646404ae2 --- /dev/null +++ b/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.