From b5ccd1416e19773f541256480a014a847bfc53f9 Mon Sep 17 00:00:00 2001 From: Thomas Wouters Date: Wed, 26 Apr 2006 19:14:46 +0000 Subject: [PATCH] Some more test-size-estimate fixes: test_append and test_insert trigger a list resize, which overallocates. --- Lib/test/test_bigmem.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_bigmem.py b/Lib/test/test_bigmem.py index bb7bb5493b..1d610e57e6 100644 --- a/Lib/test/test_bigmem.py +++ b/Lib/test/test_bigmem.py @@ -833,8 +833,9 @@ class ListTest(unittest.TestCase): def test_repr_large(self, size): return self.basic_test_repr(size) - - @bigmemtest(minsize=_2G, memuse=8) + # list overallocates ~1/8th of the total size (on first expansion) so + # the single list.append call puts memuse at 9 bytes per size. + @bigmemtest(minsize=_2G, memuse=9) def test_append(self, size): l = [object()] * size l.append(object()) @@ -872,7 +873,8 @@ class ListTest(unittest.TestCase): self.assertRaises(ValueError, l.index, 1, size - 4, size) self.assertRaises(ValueError, l.index, 6L) - @bigmemtest(minsize=_2G + 10, memuse=8) + # This tests suffers from overallocation, just like test_append. + @bigmemtest(minsize=_2G + 10, memuse=9) def test_insert(self, size): l = [1.0] * size l.insert(size - 1, "A") @@ -920,6 +922,8 @@ class ListTest(unittest.TestCase): size -= 1 self.assertEquals(len(l), size) + # Because of the earlier l.remove(), this append doesn't trigger + # a resize. l.append(5) size += 1 self.assertEquals(len(l), size) -- 2.40.0