Commit edc8f136 authored by Neal Norwitz's avatar Neal Norwitz

Add directory which contains known ref leaks. Some of these are likely to be...

Add directory which contains known ref leaks.  Some of these are likely to be system dependent (like test_gestalt).
parent 99b4ee63
This directory contains test cases that are known to leak references.
The idea is that you can import these modules while in the interpreter
and call the leak function repeatedly. This will only be helpful if
the interpreter was built in debug mode. If the total ref count
doesn't increase, the bug has been fixed.
Here's an example interpreter session for test_gestalt which still leaks:
>>> from test.leakers.test_gestalt import leak
[24275 refs]
>>> leak()
[28936 refs]
>>> leak()
[28938 refs]
>>> leak()
[28940 refs]
>>>
import sys
if sys.platform != 'darwin':
raise ValueError, "This test only leaks on Mac OS X'
def leak():
# taken from platform._mac_ver_lookup()
from gestalt import gestalt
import MacOS
try:
gestalt('sysu')
except MacOS.Error:
pass
# Test case taken from test_itertools
# See http://mail.python.org/pipermail/python-dev/2005-November/058339.html
from itertools import tee
def leak():
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()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment