diff options
author | Vinay Sharma <vinay04sharma@icloud.com> | 2020-07-19 19:05:52 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-19 22:35:52 +0900 |
commit | bfd0fbdc1352534b3c91b46dbae4285f5220acf4 (patch) | |
tree | 955ae51b6ede69fa22a717072d7a80c4d08fa5c5 | |
parent | 10e466448f67850ed7bb2e2a4e7f017f2b050cad (diff) | |
download | cpython-bfd0fbdc1352534b3c91b46dbae4285f5220acf4.tar.gz cpython-bfd0fbdc1352534b3c91b46dbae4285f5220acf4.zip |
bpo-38169: Increase code coverage for SharedMemory and ShareableList (GH-16139)
-rw-r--r-- | Lib/test/_test_multiprocessing.py | 29 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Tests/2019-09-14-13-20-27.bpo-38169.hurq4B.rst | 1 |
2 files changed, 30 insertions, 0 deletions
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 6b4679f82da..bde102ae2e0 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -3768,6 +3768,18 @@ class _TestSharedMemory(BaseTestCase): self.assertGreaterEqual(sms.size, 512) self.assertGreaterEqual(len(sms.buf), sms.size) + # Verify __repr__ + self.assertIn(sms.name, str(sms)) + self.assertIn(str(sms.size), str(sms)) + + # Test pickling + sms.buf[0:6] = b'pickle' + pickled_sms = pickle.dumps(sms) + sms2 = pickle.loads(pickled_sms) + self.assertEqual(sms.name, sms2.name) + self.assertEqual(sms.size, sms2.size) + self.assertEqual(bytes(sms.buf[0:6]), bytes(sms2.buf[0:6]), b'pickle') + # Modify contents of shared memory segment through memoryview. sms.buf[0] = 42 self.assertEqual(sms.buf[0], 42) @@ -3975,6 +3987,23 @@ class _TestSharedMemory(BaseTestCase): ) self.addCleanup(sl.shm.unlink) + # Verify __repr__ + self.assertIn(sl.shm.name, str(sl)) + self.assertIn(str(list(sl)), str(sl)) + + # Index Out of Range (get) + with self.assertRaises(IndexError): + sl[7] + + # Index Out of Range (set) + with self.assertRaises(IndexError): + sl[7] = 2 + + # Assign value without format change (str -> str) + current_format = sl._get_packing_format(0) + sl[0] = 'howdy' + self.assertEqual(current_format, sl._get_packing_format(0)) + # Verify attributes are readable. self.assertEqual(sl.format, '8s8sdqxxxxxx?xxxxxxxx?q') diff --git a/Misc/NEWS.d/next/Tests/2019-09-14-13-20-27.bpo-38169.hurq4B.rst b/Misc/NEWS.d/next/Tests/2019-09-14-13-20-27.bpo-38169.hurq4B.rst new file mode 100644 index 00000000000..3972b9d440a --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2019-09-14-13-20-27.bpo-38169.hurq4B.rst @@ -0,0 +1 @@ +Increase code coverage for SharedMemory and ShareableList |