Add object tracking functionality for Python 3.13.3+ - #153
Conversation
9c0768f to
ec04d90
Compare
|
@pablogsal ping (note that this will need to be rebased in order for tests to pass) |
60ed08a to
3d7ed3f
Compare
|
@godlygeek I think I addressed everything. Ready for another round |
4e8e3c4 to
8924ffa
Compare
60ad378 to
be1151e
Compare
|
@pablogsal OK, the ball is back in your court. Take a look at my fixup commits and see if there's anything you're not happy with. I figured out what was going on with the frame showing up as leaked - we were seeing our own call to I've also added a bit of documentation, and cleaned a few small things up. I think we probably need to add a |
|
I've pushed another commit that adds filtering. One last thing I'm not totally happy with here: I don't like the marker name. |
|
Hey @godlygeek , I pushed 8 fixups that autosquash into your two commits. Nothing structural, mostly tightening things up, but there were a couple of real bugs worth calling out. The big one: the Manager was holding onto every "leaked" object for the entire run. It did a Second real one: the Python 3.13.3+ guard was raising inside the The rest is just small stuff. Smoke-tested every path on 3.14.5 with memray 1.19.2, basic leak/no-leak, the filter, the report overflow, repr failures, async, and the version guard. All good shit. |
|
All of your changes LGTM. Thoughts on the marker name? |
|
No, I think that's a good name will make the change and land |
godlygeek
left a comment
There was a problem hiding this comment.
Approved, pending that rename
This commit adds support for tracking Python objects that survive test execution using the new reference tracking API introduced in Memray (commit e567c3cf).
Since it's very difficult to guarantee a Python function won't leak any objects, give test authors the ability to suppress leak reports for objects of their choice. Signed-off-by: Matt Wozniski <godlygeek@gmail.com>
This commit adds support for tracking Python objects that survive test execution
using the new reference tracking API introduced in memray (commit e567c3cf).
Issue number of the reported bug or feature request: #
Describe your changes
A clear and concise description of the changes you have made.
Testing performed
Describe the testing you have performed to ensure that the bug has been addressed, or that the new feature works as planned.
Additional context
Add any other context about your contribution here.