[Python-checkins] r45734 - python/trunk/Lib/test/test_bigmem.py

thomas.wouters python-checkins at python.org
Wed Apr 26 21:14:47 CEST 2006


Author: thomas.wouters
Date: Wed Apr 26 21:14:46 2006
New Revision: 45734

Modified:
   python/trunk/Lib/test/test_bigmem.py
Log:

Some more test-size-estimate fixes: test_append and test_insert trigger a
list resize, which overallocates.



Modified: python/trunk/Lib/test/test_bigmem.py
==============================================================================
--- python/trunk/Lib/test/test_bigmem.py	(original)
+++ python/trunk/Lib/test/test_bigmem.py	Wed Apr 26 21:14:46 2006
@@ -833,8 +833,9 @@
     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 @@
         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 @@
         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)


More information about the Python-checkins mailing list