Skip to content

Commit

Permalink
bpo-38169: Increase code coverage for SharedMemory and ShareableList (p…
Browse files Browse the repository at this point in the history
  • Loading branch information
vinay0410 authored and Seth Sims committed Oct 18, 2020
1 parent 31ecf5a commit 65022bf
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 0 deletions.
29 changes: 29 additions & 0 deletions Lib/test/_test_multiprocessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -3768,6 +3768,18 @@ def test_shared_memory_basics(self):
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)
Expand Down Expand Up @@ -3975,6 +3987,23 @@ def test_shared_memory_ShareableList_basics(self):
)
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')

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Increase code coverage for SharedMemory and ShareableList

0 comments on commit 65022bf

Please sign in to comment.