Skip to content

Commit 5c8b027

Browse files
authored
Update test_datetime from 3.13.5 (#5911)
1 parent ec577e5 commit 5c8b027

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

Lib/test/test_datetime.py

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import unittest
22
import sys
3+
import functools
34

45
from test.support.import_helper import import_fresh_module
56

@@ -45,21 +46,26 @@ def load_tests(loader, tests, pattern):
4546
for cls in test_classes:
4647
cls.__name__ += suffix
4748
cls.__qualname__ += suffix
48-
@classmethod
49-
def setUpClass(cls_, module=module):
50-
cls_._save_sys_modules = sys.modules.copy()
51-
sys.modules[TESTS] = module
52-
sys.modules['datetime'] = module.datetime_module
53-
if hasattr(module, '_pydatetime'):
54-
sys.modules['_pydatetime'] = module._pydatetime
55-
sys.modules['_strptime'] = module._strptime
56-
@classmethod
57-
def tearDownClass(cls_):
58-
sys.modules.clear()
59-
sys.modules.update(cls_._save_sys_modules)
60-
cls.setUpClass = setUpClass
61-
cls.tearDownClass = tearDownClass
62-
tests.addTests(loader.loadTestsFromTestCase(cls))
49+
50+
@functools.wraps(cls, updated=())
51+
class Wrapper(cls):
52+
@classmethod
53+
def setUpClass(cls_, module=module):
54+
cls_._save_sys_modules = sys.modules.copy()
55+
sys.modules[TESTS] = module
56+
sys.modules['datetime'] = module.datetime_module
57+
if hasattr(module, '_pydatetime'):
58+
sys.modules['_pydatetime'] = module._pydatetime
59+
sys.modules['_strptime'] = module._strptime
60+
super().setUpClass()
61+
62+
@classmethod
63+
def tearDownClass(cls_):
64+
super().tearDownClass()
65+
sys.modules.clear()
66+
sys.modules.update(cls_._save_sys_modules)
67+
68+
tests.addTests(loader.loadTestsFromTestCase(Wrapper))
6369
return tests
6470

6571

0 commit comments

Comments
 (0)