[Python-checkins] bpo-38018: Increase code coverage for multiprocessing.shared_memory (GH-15662)
Davin Potts
webhook-mailer at python.org
Mon Sep 9 12:48:59 EDT 2019
https://github.com/python/cpython/commit/d14e39c8d9a9b525c7dcd83b2a260e2707fa85c1
commit: d14e39c8d9a9b525c7dcd83b2a260e2707fa85c1
branch: master
author: Vinay Sharma <vinay04sharma at icloud.com>
committer: Davin Potts <applio at users.noreply.github.com>
date: 2019年09月09日T11:48:55-05:00
summary:
bpo-38018: Increase code coverage for multiprocessing.shared_memory (GH-15662)
files:
A Misc/NEWS.d/next/Tests/2019-09-03-19-33-10.bpo-38018.zTrMu7.rst
M Lib/test/_test_multiprocessing.py
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index 2fe0def2bcd2..8269b879eb9d 100644
--- a/Lib/test/_test_multiprocessing.py
+++ b/Lib/test/_test_multiprocessing.py
@@ -3719,6 +3719,30 @@ def test_shared_memory_basics(self):
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 000000000000..3646404ae282
--- /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.
More information about the Python-checkins
mailing list