diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2011-10-06 16:57:27 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2011-10-06 16:57:27 (GMT) |
commit | eeb7eea1f95793437b3e251f47c98446e15fa680 (patch) | |
tree | e83a45f7eddbc424f375a89581a918baf2a42dcd /Lib/test/test_list.py | |
parent | bb2095f1e273d06f7dfaa8303c46ce6f01212c76 (diff) | |
download | cpython-eeb7eea1f95793437b3e251f47c98446e15fa680.zip cpython-eeb7eea1f95793437b3e251f47c98446e15fa680.tar.gz cpython-eeb7eea1f95793437b3e251f47c98446e15fa680.tar.bz2 |
Issue #12911: Fix memory consumption when calculating the repr() of huge tuples or lists.
This introduces a small private API for this common pattern.
The issue has been discovered thanks to Martin's huge-mem buildbot.
Diffstat (limited to 'Lib/test/test_list.py')
-rw-r--r-- | Lib/test/test_list.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/test/test_list.py b/Lib/test/test_list.py index 3510bd5..d7e6629 100644 --- a/Lib/test/test_list.py +++ b/Lib/test/test_list.py @@ -59,6 +59,17 @@ class ListTest(list_tests.CommonTest): self.assertRaises((MemoryError, OverflowError), mul, lst, n) self.assertRaises((MemoryError, OverflowError), imul, lst, n) + def test_repr_large(self): + # Check the repr of large list objects + def check(n): + l = [0] * n + s = repr(l) + self.assertEqual(s, + '[' + ', '.join(['0'] * n) + ']') + check(10) # check our checking code + check(1000000) + + def test_main(verbose=None): support.run_unittest(ListTest) |