From be8da9c9906571698fe218da9e218ece500d5239 Mon Sep 17 00:00:00 2001 From: Martin Panter Date: Wed, 7 Sep 2016 11:04:41 +0000 Subject: Issue #27570: Avoid zero-length memcpy() calls with null source pointers --- Lib/test/test_array.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'Lib/test/test_array.py') diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py index 482526eec1..2a21e745b1 100644 --- a/Lib/test/test_array.py +++ b/Lib/test/test_array.py @@ -38,14 +38,24 @@ typecodes = "ubBhHiIlLfd" if have_long_long: typecodes += 'qQ' -class BadConstructorTest(unittest.TestCase): +class MiscTest(unittest.TestCase): - def test_constructor(self): + def test_bad_constructor(self): self.assertRaises(TypeError, array.array) self.assertRaises(TypeError, array.array, spam=42) self.assertRaises(TypeError, array.array, 'xx') self.assertRaises(ValueError, array.array, 'x') + def test_empty(self): + # Exercise code for handling zero-length arrays + a = array.array('B') + a[:] = a + self.assertEqual(len(a), 0) + self.assertEqual(len(a + a), 0) + self.assertEqual(len(a * 3), 0) + a += a + self.assertEqual(len(a), 0) + # Machine format codes. # -- cgit v1.2.1