mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
bpo-38169: Increase code coverage for SharedMemory and ShareableList (GH-16139)
This commit is contained in:
parent
10e466448f
commit
bfd0fbdc13
2 changed files with 30 additions and 0 deletions
|
@ -3768,6 +3768,18 @@ class _TestSharedMemory(BaseTestCase):
|
||||||
self.assertGreaterEqual(sms.size, 512)
|
self.assertGreaterEqual(sms.size, 512)
|
||||||
self.assertGreaterEqual(len(sms.buf), sms.size)
|
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.
|
# Modify contents of shared memory segment through memoryview.
|
||||||
sms.buf[0] = 42
|
sms.buf[0] = 42
|
||||||
self.assertEqual(sms.buf[0], 42)
|
self.assertEqual(sms.buf[0], 42)
|
||||||
|
@ -3975,6 +3987,23 @@ class _TestSharedMemory(BaseTestCase):
|
||||||
)
|
)
|
||||||
self.addCleanup(sl.shm.unlink)
|
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.
|
# Verify attributes are readable.
|
||||||
self.assertEqual(sl.format, '8s8sdqxxxxxx?xxxxxxxx?q')
|
self.assertEqual(sl.format, '8s8sdqxxxxxx?xxxxxxxx?q')
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Increase code coverage for SharedMemory and ShareableList
|
Loading…
Add table
Add a link
Reference in a new issue