summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-05-27 22:36:32 (GMT)
committerGitHub <noreply@github.com>2024-05-27 22:36:32 (GMT)
commitd58ebf073c755c2f0f6e4ef2296b48a4c75e5f1c (patch)
tree837745c0e498bea3de1386fcbc1db44e7b5f68db /Lib
parent660125f864aa533b68a6ccbe11e35f0353388d56 (diff)
downloadcpython-d58ebf073c755c2f0f6e4ef2296b48a4c75e5f1c.zip
cpython-d58ebf073c755c2f0f6e4ef2296b48a4c75e5f1c.tar.gz
cpython-d58ebf073c755c2f0f6e4ef2296b48a4c75e5f1c.tar.bz2
[3.13] gh-117398: Add multiphase support to _datetime (gh-119373) (gh-119636)
This is minimal support. Subinterpreters are not supported yet. That will be addressed in a later change. (cherry picked from commit 3e8b60905e97a4fe89bb24180063732214368938) Co-authored-by: Erlend E. Aasland <erlend@python.org> Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/datetimetester.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index b3838d5..ba7f185 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -47,6 +47,26 @@ 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)
@@ -6383,6 +6403,7 @@ class IranTest(ZoneInfoTest):
@unittest.skipIf(_testcapi is None, 'need _testcapi module')
+@no_rerun("the encapsulated datetime C API does not support reloading")
class CapiTest(unittest.TestCase):
def setUp(self):
# Since the C API is not present in the _Pure tests, skip all tests