-
-
Notifications
You must be signed in to change notification settings - Fork 32.2k
bpo-23890: Fix ref cycles in TestCase.assertRaises() #193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Do the new tests fail without the fix? It isn't immediately clear to me how the fix works, I imagine it's round clearing the references that would be kept alive in the frame though the traceback. If the tests fail without the fix and pass with them then the fix looks good to me. |
good work
…On Feb 21, 2017 2:37 PM, "Michael Foord" ***@***.***> wrote:
Do the new tests fail without the fix? It isn't immediately clear to me
how the fix works, I imagine it's round clearing the references that would
be kept alive in the frame though the traceback. If the tests fail without
the fix and pass with them then the fix looks good to me.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#193 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AYpBUEtRGCXFxJH6RInSLYi9rJiitI-hks5re2cNgaJpZM4MGBPv>
.
|
"Do the new tests fail without the fix?" yes it does :-)
|
Well that's just far too straightforward an approach to fixing this :) |
bpo-23890: unittest.TestCase.assertRaises() now manually breaks a reference cycle to not keep objects alive longer than expected.
I rebased my change to fix the usual merge conflict on Misc/NEWS. |
3.6 backport: #858 |
The macros PyTasklet_CheckExact(op) and PyChannel_CheckExact(op) contained a reference to a non existing variable.
The macros PyTasklet_CheckExact(op) and PyChannel_CheckExact(op) contained a reference to a non existing variable. (cherry picked from commit 4599c9c)
bpo-23890: unittest.TestCase.assertRaises() now manually breaks a
reference cycle to not keep objects alive longer than expected.