diff --git a/Lib/test/test_bigmem.py b/Lib/test/test_bigmem.py index 92e9578bf633..bb7bb5493b88 100644 --- a/Lib/test/test_bigmem.py +++ b/Lib/test/test_bigmem.py @@ -696,6 +696,21 @@ def test_concat_small(self, size): def test_concat_large(self, size): return self.basic_test_concat(size) + def basic_test_inplace_concat(self, size): + l = [sys.stdout] * size + l += l + self.assertEquals(len(l), size * 2) + self.failUnless(l[0] is l[-1]) + self.failUnless(l[size - 1] is l[size + 1]) + + @bigmemtest(minsize=_2G // 2 + 2, memuse=8) + def test_inplace_concat_small(self, size): + return self.basic_test_inplace_concat(size) + + @bigmemtest(minsize=_2G + 2, memuse=8) + def test_inplace_concat_large(self, size): + return self.basic_test_inplace_concat(size) + @bigmemtest(minsize=_2G // 5 + 10, memuse=8*5) def test_contains(self, size): l = [1, 2, 3, 4, 5] * size @@ -781,7 +796,26 @@ def test_repeat_small(self, size): def test_repeat_large(self, size): return self.basic_test_repeat(size) - # Test repr-result of >2G + def basic_test_inplace_repeat(self, size): + l = [''] + l *= size + self.assertEquals(len(l), size) + self.failUnless(l[0] is l[-1]) + del l + + l = [''] * size + l *= 2 + self.assertEquals(len(l), size * 2) + self.failUnless(l[size - 1] is l[-1]) + + @bigmemtest(minsize=_2G // 2 + 2, memuse=16) + def test_inplace_repeat_small(self, size): + return self.basic_test_inplace_repeat(size) + + @bigmemtest(minsize=_2G + 2, memuse=16) + def test_inplace_repeat_large(self, size): + return self.basic_test_inplace_repeat(size) + def basic_test_repr(self, size): l = [0] * size s = repr(l) @@ -821,11 +855,11 @@ def basic_test_extend(self, size): self.failUnless(l[0] is l[-1]) self.failUnless(l[size - 1] is l[size + 1]) - @bigmemtest(minsize=_2G // 2 + 2, memuse=8) + @bigmemtest(minsize=_2G // 2 + 2, memuse=16) def test_extend_small(self, size): return self.basic_test_extend(size) - @bigmemtest(minsize=_2G + 2, memuse=8) + @bigmemtest(minsize=_2G + 2, memuse=16) def test_extend_large(self, size): return self.basic_test_extend(size)