https://github.com/python/cpython/commit/2da0dc094fa855ed4df251aab58b6f8a2b6969a1
commit: 2da0dc094fa855ed4df251aab58b6f8a2b6969a1
branch: main
author: Nikita Sobolev <[email protected]>
committer: sobolevn <[email protected]>
date: 2024-05-28T18:50:50+03:00
summary:
gh-119659: Move `@no_rerun` to `test.support` (#119660)
files:
M Lib/test/datetimetester.py
M Lib/test/support/__init__.py
M Lib/test/test_import/__init__.py
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index ba7f185a092629..535b17d0727611 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -22,7 +22,7 @@
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 @@
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 e2a854663ddb7d..5825efadffcb29 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -1189,6 +1189,25 @@ def coverage_wrapper(*args, **kwargs):
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 b09065f812c0e4..97e262cfdb9023 100644
--- a/Lib/test/test_import/__init__.py
+++ b/Lib/test/test_import/__init__.py
@@ -31,7 +31,7 @@
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
_______________________________________________
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]