diff -r 1927f47a1838 Lib/test/test_list.py --- a/Lib/test/test_list.py Wed Jul 30 19:24:32 2014 -0400 +++ b/Lib/test/test_list.py Sat Aug 02 00:00:19 2014 +0300 @@ -2,6 +2,8 @@ from test import support, list_tests import pickle +pointer_size = 8 if sys.maxsize > 0xFFFFFFFF else 4 + class ListTest(list_tests.CommonTest): type2test = list @@ -52,13 +54,17 @@ self.assertEqual(len([0]), 1) self.assertEqual(len([0, 1, 2]), 3) - def test_overflow(self): + @support.cpython_only + @support.bigmemtest(size=(sys.maxsize*2+2), + memuse=pointer_size*1.25, + dry_run=False) + def test_overflow(self, size): lst = [4, 5, 6, 7] - n = int((sys.maxsize*2+2) // len(lst)) - def mul(a, b): return a * b - def imul(a, b): a *= b - self.assertRaises((MemoryError, OverflowError), mul, lst, n) - self.assertRaises((MemoryError, OverflowError), imul, lst, n) + n = size // len(lst) + with self.assertRaises(OverflowError): + lst * n + with self.assertRaises(OverflowError): + lst *= n def test_repr_large(self): # Check the repr of large list objects