summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Sobolev <mail@sobolevn.me>2024-05-28 15:50:50 (GMT)
committerGitHub <noreply@github.com>2024-05-28 15:50:50 (GMT)
commit2da0dc094fa855ed4df251aab58b6f8a2b6969a1 (patch)
tree6c55c55650d8c0285f23c5a038fcc2aa5ffe617d
parentf912e5a2f6d128b17f85229b722422e4a2478e23 (diff)
downloadcpython-2da0dc094fa855ed4df251aab58b6f8a2b6969a1.zip
cpython-2da0dc094fa855ed4df251aab58b6f8a2b6969a1.tar.gz
cpython-2da0dc094fa855ed4df251aab58b6f8a2b6969a1.tar.bz2
gh-119659: Move `@no_rerun` to `test.support` (#119660)
-rw-r--r--Lib/test/datetimetester.py22
-rw-r--r--Lib/test/support/__init__.py19
-rw-r--r--Lib/test/test_import/__init__.py21
3 files changed, 21 insertions, 41 deletions
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index ba7f185..535b17d 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -22,7 +22,7 @@ from operator import lt, le, gt, ge, eq, ne, truediv, floordiv, mod
from test import support
from test.support import is_resource_enabled, ALWAYS_EQ, LARGEST, SMALLEST
-from test.support import warnings_helper
+from test.support import warnings_helper, no_rerun
import datetime as datetime_module
from datetime import MINYEAR, MAXYEAR
@@ -47,26 +47,6 @@ except ImportError:
pass
#
-# This is copied from test_import/__init__.py.
-# XXX Move it to support/__init__.py.
-def no_rerun(reason):
- """Skip rerunning for a particular test.
-
- WARNING: Use this decorator with care; skipping rerunning makes it
- impossible to find reference leaks. Provide a clear reason for skipping the
- test using the 'reason' parameter.
- """
- def deco(func):
- _has_run = False
- def wrapper(self):
- nonlocal _has_run
- if _has_run:
- self.skipTest(reason)
- func(self)
- _has_run = True
- return wrapper
- return deco
-
pickle_loads = {pickle.loads, pickle._loads}
pickle_choices = [(pickle, pickle, proto)
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index e2a8546..5825efa 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -1189,6 +1189,25 @@ def no_tracing(func):
return coverage_wrapper
+def no_rerun(reason):
+ """Skip rerunning for a particular test.
+
+ WARNING: Use this decorator with care; skipping rerunning makes it
+ impossible to find reference leaks. Provide a clear reason for skipping the
+ test using the 'reason' parameter.
+ """
+ def deco(func):
+ _has_run = False
+ def wrapper(self):
+ nonlocal _has_run
+ if _has_run:
+ self.skipTest(reason)
+ func(self)
+ _has_run = True
+ return wrapper
+ return deco
+
+
def refcount_test(test):
"""Decorator for tests which involve reference counting.
diff --git a/Lib/test/test_import/__init__.py b/Lib/test/test_import/__init__.py
index b09065f..97e262c 100644
--- a/Lib/test/test_import/__init__.py
+++ b/Lib/test/test_import/__init__.py
@@ -31,7 +31,7 @@ from test.support import os_helper
from test.support import (
STDLIB_DIR, swap_attr, swap_item, cpython_only, is_apple_mobile, is_emscripten,
is_wasi, run_in_subinterp, run_in_subinterp_with_config, Py_TRACE_REFS,
- requires_gil_enabled, Py_GIL_DISABLED)
+ requires_gil_enabled, Py_GIL_DISABLED, no_rerun)
from test.support.import_helper import (
forget, make_legacy_pyc, unlink, unload, ready_to_import,
DirsOnSysPath, CleanImport, import_module)
@@ -120,25 +120,6 @@ def remove_files(name):
rmtree('__pycache__')
-def no_rerun(reason):
- """Skip rerunning for a particular test.
-
- WARNING: Use this decorator with care; skipping rerunning makes it
- impossible to find reference leaks. Provide a clear reason for skipping the
- test using the 'reason' parameter.
- """
- def deco(func):
- _has_run = False
- def wrapper(self):
- nonlocal _has_run
- if _has_run:
- self.skipTest(reason)
- func(self)
- _has_run = True
- return wrapper
- return deco
-
-
if _testsinglephase is not None:
def restore__testsinglephase(*, _orig=_testsinglephase):
# We started with the module imported and want to restore