]> granicus.if.org Git - python/commitdiff
bpo-38018: Increase code coverage for multiprocessing.shared_memory (GH-15662)
authorVinay Sharma <vinay04sharma@icloud.com>
Mon, 9 Sep 2019 16:48:55 +0000 (22:18 +0530)
committerDavin Potts <applio@users.noreply.github.com>
Mon, 9 Sep 2019 16:48:55 +0000 (11:48 -0500)
Lib/test/_test_multiprocessing.py
Misc/NEWS.d/next/Tests/2019-09-03-19-33-10.bpo-38018.zTrMu7.rst [new file with mode: 0644]

index 2fe0def2bcd27783a42090fb78c0b57ef830d3a5..8269b879eb9d0d79cae22cd9090ee593e4f1656f 100644 (file)
@@ -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 (file)
index 0000000..3646404
--- /dev/null
@@ -0,0 +1 @@
+Increase code coverage for multiprocessing.shared_memory.