From ab11f60bb34f2d04b0f694fd4275a9d954c478cd Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Thu, 28 Jan 1999 19:44:06 +0000 Subject: Added a new test for old filter() memory leak --- Lib/test/test_b1.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Lib/test/test_b1.py b/Lib/test/test_b1.py index 020c8bc..7155294 100644 --- a/Lib/test/test_b1.py +++ b/Lib/test/test_b1.py @@ -184,6 +184,23 @@ if filter(None, Squares(10)) != [1, 4, 9, 16, 25, 36, 49, 64, 81]: raise TestFailed, 'filter(None, Squares(10))' if filter(lambda x: x%2, Squares(10)) != [1, 9, 25, 49, 81]: raise TestFailed, 'filter(oddp, Squares(10))' +class StrSquares: + def __init__(self, max): + self.max = max + self.sofar = [] + def __len__(self): + return len(self.sofar) + def __getitem__(self, i): + if not 0 <= i < self.max: + raise IndexError + n = len(self.sofar) + while n <= i: + self.sofar.append(str(n*n)) + n = n+1 + return self.sofar[i] +def identity(item): + return 1 +filter(identity, Squares(5)) print 'float' if float(3.14) <> 3.14: raise TestFailed, 'float(3.14)' -- cgit v0.12