Backport of r59241: str.decode fails on very long strings on 64bit platforms.
PyArgs_ParseTuple t# and w# formats truncated the lengths to 32bit.
diff --git a/Lib/test/test_bigmem.py b/Lib/test/test_bigmem.py
index 6d6c37c..d4fc6eb 100644
--- a/Lib/test/test_bigmem.py
+++ b/Lib/test/test_bigmem.py
@@ -65,13 +65,15 @@
self.assertEquals(s.count('i'), 1)
self.assertEquals(s.count('j'), 0)
- @bigmemtest(minsize=0, memuse=1)
+ @bigmemtest(minsize=_2G + 2, memuse=3)
def test_decode(self, size):
- pass
+ s = '.' * size
+ self.assertEquals(len(s.decode('utf-8')), size)
- @bigmemtest(minsize=0, memuse=1)
+ @bigmemtest(minsize=_2G + 2, memuse=3)
def test_encode(self, size):
- pass
+ s = u'.' * size
+ self.assertEquals(len(s.encode('utf-8')), size)
@bigmemtest(minsize=_2G, memuse=2)
def test_endswith(self, size):