@@ -18,7 +18,7 @@ def load_tests(loader, tests, pattern):
1818 finally :
1919 # XXX: import_fresh_module() is supposed to leave sys.module cache untouched,
2020 # XXX: but it does not, so we have to cleanup ourselves.
21- for modname in ['datetime' , '_datetime' , '_strptime' ]:
21+ for modname in ['datetime' , '_datetime' , '_pydatetime' , ' _strptime' ]:
2222 sys .modules .pop (modname , None )
2323
2424 test_modules = [
@@ -29,11 +29,14 @@ def load_tests(loader, tests, pattern):
2929 "_Pure" ,
3030 # "_Fast" # XXX: RUSTPYTHON; not supported yet
3131 ]
32+
3233 # XXX(gb) First run all the _Pure tests, then all the _Fast tests. You might
3334 # not believe this, but in spite of all the sys.modules trickery running a _Pure
3435 # test last will leave a mix of pure and native datetime stuff lying around.
3536 for module , suffix in zip (test_modules , test_suffixes ):
3637 test_classes = []
38+ if module is None :
39+ continue
3740 for name , cls in module .__dict__ .items ():
3841 if not isinstance (cls , type ):
3942 continue
@@ -54,8 +57,8 @@ def setUpClass(cls_, module=module):
5457 cls_ ._save_sys_modules = sys .modules .copy ()
5558 sys .modules [TESTS ] = module
5659 sys .modules ['datetime' ] = module .datetime_module
57- if hasattr ( module , '_pydatetime' ):
58- sys .modules ['_pydatetime ' ] = module ._pydatetime
60+ sys . modules [ '_pydatetime' ] = module . _pydatetime
61+ sys .modules ['_datetime ' ] = module ._datetime
5962 sys .modules ['_strptime' ] = module ._strptime
6063 super ().setUpClass ()
6164
0 commit comments