diff -r 818989a48e96 Lib/test/test_list.py --- a/Lib/test/test_list.py Thu Jul 31 07:48:14 2014 +0300 +++ b/Lib/test/test_list.py Sat Aug 02 00:00:06 2014 +0300 @@ -1,6 +1,8 @@ import sys from test import test_support, list_tests +pointer_size = 8 if sys.maxsize > 0xFFFFFFFF else 4 + class ListTest(list_tests.CommonTest): type2test = list @@ -51,13 +53,17 @@ self.assertEqual(len([0]), 1) self.assertEqual(len([0, 1, 2]), 3) - def test_overflow(self): + @test_support.cpython_only + @test_support.precisionbigmemtest(size=(sys.maxint*2+2), + memuse=pointer_size*1.25, + dry_run=False) + def test_overflow(self, size): lst = [4, 5, 6, 7] - n = int((sys.maxint*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 = int(size // len(lst)) + with self.assertRaises(OverflowError): + lst * n + with self.assertRaises(OverflowError): + lst *= n def test_main(verbose=None): test_support.run_unittest(ListTest)