]> granicus.if.org Git - python/commitdiff
Add tests for += and *= on strings, and fix the memory-use estimate for the
authorThomas Wouters <thomas@python.org>
Wed, 26 Apr 2006 18:46:01 +0000 (18:46 +0000)
committerThomas Wouters <thomas@python.org>
Wed, 26 Apr 2006 18:46:01 +0000 (18:46 +0000)
list.extend tests (they were estimating half the actual use.)

Lib/test/test_bigmem.py

index 92e9578bf633a0abe6b5a568c487c125572a9d13..bb7bb5493b88e47fa3df6407439b4cd3f87a86de 100644 (file)
@@ -696,6 +696,21 @@ class ListTest(unittest.TestCase):
     def test_concat_large(self, size):\r
         return self.basic_test_concat(size)\r
 \r
+    def basic_test_inplace_concat(self, size):\r
+        l = [sys.stdout] * size\r
+        l += l\r
+        self.assertEquals(len(l), size * 2)\r
+        self.failUnless(l[0] is l[-1])\r
+        self.failUnless(l[size - 1] is l[size + 1])\r
+\r
+    @bigmemtest(minsize=_2G // 2 + 2, memuse=8)\r
+    def test_inplace_concat_small(self, size):\r
+        return self.basic_test_inplace_concat(size)\r
+\r
+    @bigmemtest(minsize=_2G + 2, memuse=8)\r
+    def test_inplace_concat_large(self, size):\r
+        return self.basic_test_inplace_concat(size)\r
+\r
     @bigmemtest(minsize=_2G // 5 + 10, memuse=8*5)\r
     def test_contains(self, size):\r
         l = [1, 2, 3, 4, 5] * size\r
@@ -781,7 +796,26 @@ class ListTest(unittest.TestCase):
     def test_repeat_large(self, size):\r
         return self.basic_test_repeat(size)\r
 \r
-    # Test repr-result of >2G\r
+    def basic_test_inplace_repeat(self, size):\r
+        l = ['']\r
+        l *= size\r
+        self.assertEquals(len(l), size)\r
+        self.failUnless(l[0] is l[-1])\r
+        del l\r
+\r
+        l = [''] * size\r
+        l *= 2\r
+        self.assertEquals(len(l), size * 2)\r
+        self.failUnless(l[size - 1] is l[-1])\r
+\r
+    @bigmemtest(minsize=_2G // 2 + 2, memuse=16)\r
+    def test_inplace_repeat_small(self, size):\r
+        return self.basic_test_inplace_repeat(size)\r
+\r
+    @bigmemtest(minsize=_2G + 2, memuse=16)\r
+    def test_inplace_repeat_large(self, size):\r
+        return self.basic_test_inplace_repeat(size)\r
+\r
     def basic_test_repr(self, size):\r
         l = [0] * size\r
         s = repr(l)\r
@@ -821,11 +855,11 @@ class ListTest(unittest.TestCase):
         self.failUnless(l[0] is l[-1])\r
         self.failUnless(l[size - 1] is l[size + 1])\r
 \r
-    @bigmemtest(minsize=_2G // 2 + 2, memuse=8)\r
+    @bigmemtest(minsize=_2G // 2 + 2, memuse=16)\r
     def test_extend_small(self, size):\r
         return self.basic_test_extend(size)\r
 \r
-    @bigmemtest(minsize=_2G + 2, memuse=8)\r
+    @bigmemtest(minsize=_2G + 2, memuse=16)\r
     def test_extend_large(self, size):\r
         return self.basic_test_extend(size)\r
 \r