Update notes to address cyclic garbage and what should happen when a test is fixed.
This commit is contained in:
parent
615461603c
commit
03f3be50af
|
@ -5,6 +5,15 @@ the interpreter was built in debug mode. If the total ref count
|
|||
doesn't increase, the bug has been fixed and the file should be removed
|
||||
from the repository.
|
||||
|
||||
Note: be careful to check for cyclic garbage. Sometimes it may be helpful
|
||||
to define the leak function like:
|
||||
|
||||
def leak():
|
||||
def inner_leak():
|
||||
# this is the function that leaks, but also creates cycles
|
||||
inner_leak()
|
||||
gc.collect() ; gc.collect() ; gc.collect()
|
||||
|
||||
Here's an example interpreter session for test_gestalt which still leaks:
|
||||
|
||||
>>> from test.leakers.test_gestalt import leak
|
||||
|
@ -17,3 +26,7 @@ Here's an example interpreter session for test_gestalt which still leaks:
|
|||
[28940 refs]
|
||||
>>>
|
||||
|
||||
Once the leak is fixed, the test case should be moved into an appropriate
|
||||
test (even if it was originally from the test suite). This ensures the
|
||||
regression doesn't happen again. And if it does, it should be easier
|
||||
to track down.
|
||||
|
|
Loading…
Reference in New Issue