summaryrefslogtreecommitdiff
path: root/Lib/test/test_multiprocessing.py
diff options
context:
space:
mode:
authorMark Dickinson <mdickinson@enthought.com>2011-03-26 10:02:37 +0000
committerMark Dickinson <mdickinson@enthought.com>2011-03-26 10:02:37 +0000
commitd3cb2f6e2cd837bd6a0258a8e4e6699d703cf8b4 (patch)
tree1a8a2ecc8825b6cea316009dbab7fe6287f8127e /Lib/test/test_multiprocessing.py
parent254d4b851d67adc6e5a6660eb76309bf8af0abc8 (diff)
downloadcpython-git-d3cb2f6e2cd837bd6a0258a8e4e6699d703cf8b4.tar.gz
Issue #11675: Zero-out newly-created multiprocessing.[Raw]Array objects.
Diffstat (limited to 'Lib/test/test_multiprocessing.py')
-rw-r--r--Lib/test/test_multiprocessing.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py
index bdfc171253..0df2f7803b 100644
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -914,6 +914,21 @@ class _TestArray(BaseTestCase):
self.assertEqual(list(arr[:]), seq)
@unittest.skipIf(c_int is None, "requires _ctypes")
+ def test_array_from_size(self):
+ size = 10
+ # Test for zeroing (see issue #11675).
+ # The repetition below strengthens the test by increasing the chances
+ # of previously allocated non-zero memory being used for the new array
+ # on the 2nd and 3rd loops.
+ for _ in range(3):
+ arr = self.Array('i', size)
+ self.assertEqual(len(arr), size)
+ self.assertEqual(list(arr), [0] * size)
+ arr[:] = range(10)
+ self.assertEqual(list(arr), range(10))
+ del arr
+
+ @unittest.skipIf(c_int is None, "requires _ctypes")
def test_rawarray(self):
self.test_array(raw=True)