From aaed3554893d118b75a272003cb7980814857061 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 5 Aug 2026 23:42:19 +0300 Subject: [PATCH] gh-75876: Use functools.wraps() in test.support test decorators bigmemtest(), bigaddrspacetest() and no_rerun() returned a wrapper named "wrapper", so a decorator applied on top of them could not identify the test. Co-authored-by: Claude Opus 5 (1M context) --- Lib/test/support/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index 7898ef5e15b2c4..74d3794289bf69 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -1293,6 +1293,7 @@ def bigmemtest(size, memuse, dry_run=True): test doesn't support dummy runs when -M is not specified. """ def decorator(f): + @functools.wraps(f) def wrapper(self): size = wrapper.size memuse = wrapper.memuse @@ -1345,6 +1346,7 @@ def internal(*args, **kwargs): def bigaddrspacetest(f): """Decorator for tests that fill the address space.""" + @functools.wraps(f) def wrapper(self): if max_memuse < MAX_Py_ssize_t: if MAX_Py_ssize_t >= 2**63 - 1 and max_memuse >= 2**31: @@ -1450,6 +1452,7 @@ def no_rerun(reason): def deco(func): assert not isinstance(func, type), func _has_run = False + @functools.wraps(func) def wrapper(self): nonlocal _has_run if _has_run: