[Python-checkins] r45377 - python/trunk/Lib/test/leakers/test_tee.py
neal.norwitz
python-checkins at python.org
Fri Apr 14 08:33:25 CEST 2006
Author: neal.norwitz
Date: Fri Apr 14 08:33:24 2006
New Revision: 45377
Added:
python/trunk/Lib/test/leakers/test_tee.py (contents, props changed)
Log:
Restore test tee with some modifications.
The test case came from test_generators, not test_itertools.
Ensure there's no cyclic garbage we are counting.
This is weird because it leaks, then reaches a limit:
python.exe -i test_tee.py
>>> leak()
0
[26633 refs]
>>> leak()
0
[26658 refs]
>>> leak()
0
[26683 refs]
>>> leak()
0
[26708 refs]
>>> leak()
0
[26708 refs]
>>> leak()
0
[26708 refs]
>>> leak()
0
Added: python/trunk/Lib/test/leakers/test_tee.py
==============================================================================
--- (empty file)
+++ python/trunk/Lib/test/leakers/test_tee.py Fri Apr 14 08:33:24 2006
@@ -0,0 +1,25 @@
+
+# Test case taken from test_generators
+# See http://mail.python.org/pipermail/python-dev/2005-November/058339.html
+
+from itertools import tee
+import gc
+
+def leak():
+ def inner():
+ def fib():
+ def yield_identity_forever(g):
+ while 1:
+ yield g
+ def _fib():
+ for i in yield_identity_forever(head):
+ yield i
+ head, tail, result = tee(_fib(), 3)
+ return result
+
+ x = fib()
+ x.next()
+ inner()
+ gc.collect() ; gc.collect()
+ # this is expected to return 0
+ return gc.collect()
More information about the Python-checkins
mailing list