Backport r61286 adding GC to the grouper for itertools.groupby() fixing Issue 2246.
diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py
index 99f9077..e949cf6 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -449,6 +449,13 @@
a = []
self.makecycle(groupby([a]*2, lambda x:x), a)
+ def test_issue2246(self):
+ # Issue 2246 -- the _grouper iterator was not included in GC
+ n = 10
+ keyfunc = lambda x: x
+ for i, j in groupby(xrange(n), key=keyfunc):
+ keyfunc.__dict__.setdefault('x',[]).append(j)
+
def test_ifilter(self):
a = []
self.makecycle(ifilter(lambda x:True, [a]*2), a)