https://github.com/python/cpython/commit/c766ad206ea60b1e0edcb625b99e7631954a984f
commit: c766ad206ea60b1e0edcb625b99e7631954a984f
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2024-07-01T11:03:33+02:00
summary:
gh-121084: Call _abc_registry_clear() when checking refleaks (#121191)
dash_R_cleanup() now calls _abc_registry_clear() before calling again
register().
files:
M Lib/test/libregrtest/refleak.py
diff --git a/Lib/test/libregrtest/refleak.py b/Lib/test/libregrtest/refleak.py
index 25e71305402985..20b05954c762ff 100644
--- a/Lib/test/libregrtest/refleak.py
+++ b/Lib/test/libregrtest/refleak.py
@@ -246,9 +246,13 @@ def dash_R_cleanup(fs, ps, pic, zdc, abcs):
abs_classes = filter(isabstract, abs_classes)
for abc in abs_classes:
for obj in abc.__subclasses__() + [abc]:
- for ref in abcs.get(obj, set()):
- if ref() is not None:
- obj.register(ref())
+ refs = abcs.get(obj, None)
+ if refs is not None:
+ obj._abc_registry_clear()
+ for ref in refs:
+ subclass = ref()
+ if subclass is not None:
+ obj.register(subclass)
obj._abc_caches_clear()
# Clear caches
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]