Skip to content

Commit 4bf4cc2

Browse files
[3.12] gh-121084: Fix test_typing random leaks (GH-121360) (#121372)
gh-121084: Fix test_typing random leaks (GH-121360) Clear typing ABC caches when running tests for refleaks (-R option): call _abc_caches_clear() on typing abstract classes and their subclasses. (cherry picked from commit 5f660e8) Co-authored-by: Victor Stinner <[email protected]>
1 parent 8d3f44a commit 4bf4cc2

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

Lib/test/libregrtest/utils.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,12 @@ def clear_caches():
264264
for f in typing._cleanups:
265265
f()
266266

267+
import inspect
268+
abs_classes = filter(inspect.isabstract, typing.__dict__.values())
269+
for abc in abs_classes:
270+
for obj in abc.__subclasses__() + [abc]:
271+
obj._abc_caches_clear()
272+
267273
try:
268274
fractions = sys.modules['fractions']
269275
except KeyError:
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Fix test_typing random leaks. Clear typing ABC caches when running tests for
2+
refleaks (``-R`` option): call ``_abc_caches_clear()`` on typing abstract
3+
classes and their subclasses. Patch by Victor Stinner.

0 commit comments

Comments
 (0)