https://github.com/python/cpython/commit/178b5b16d38ba08daa1037920fea274975ac830d commit: 178b5b16d38ba08daa1037920fea274975ac830d branch: 3.13 author: Miss Islington (bot) <31488909+miss-isling...@users.noreply.github.com> committer: vstinner <vstin...@python.org> date: 2024-07-01T09:34:53Z summary:
[3.13] gh-121084: Call _abc_registry_clear() when checking refleaks (GH-121191) (#121208) gh-121084: Call _abc_registry_clear() when checking refleaks (GH-121191) dash_R_cleanup() now calls _abc_registry_clear() before calling again register(). (cherry picked from commit c766ad206ea60b1e0edcb625b99e7631954a984f) Co-authored-by: Victor Stinner <vstin...@python.org> files: M Lib/test/libregrtest/refleak.py diff --git a/Lib/test/libregrtest/refleak.py b/Lib/test/libregrtest/refleak.py index 621e97514d482d..d2fab19c9a1932 100644 --- a/Lib/test/libregrtest/refleak.py +++ b/Lib/test/libregrtest/refleak.py @@ -247,9 +247,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 -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com