changeset: 106142:dd2c7d497878 branch: 3.5 user: Martin Panter date: Thu Jan 12 11:54:59 2017 +0000 files: Lib/test/test_unicode.py description: Issues #1621, #29145: Test for str.join() overflow diff -r 80fc40a9ae47 -r dd2c7d497878 Lib/test/test_unicode.py --- a/Lib/test/test_unicode.py Fri Jan 13 10:38:09 2017 +0000 +++ b/Lib/test/test_unicode.py Thu Jan 12 11:54:59 2017 +0000 @@ -464,6 +464,13 @@ self.checkraises(TypeError, ' ', 'join', [1, 2, 3]) self.checkraises(TypeError, ' ', 'join', ['1', '2', 3]) + @unittest.skipIf(sys.maxsize > 2**32, + 'needs too much memory on a 64-bit platform') + def test_join_overflow(self): + size = int(sys.maxsize**0.5) + 1 + seq = ('A' * size,) * size + self.assertRaises(OverflowError, ''.join, seq) + def test_replace(self): string_tests.CommonTest.test_replace(self)