@@ -18,16 +18,19 @@ 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 = [pure_tests , fast_tests ]
2525 test_suffixes = ["_Pure" , "_Fast" ]
26+
2627 # XXX(gb) First run all the _Pure tests, then all the _Fast tests. You might
2728 # not believe this, but in spite of all the sys.modules trickery running a _Pure
2829 # test last will leave a mix of pure and native datetime stuff lying around.
2930 for module , suffix in zip (test_modules , test_suffixes ):
3031 test_classes = []
32+ if module is None :
33+ continue
3134 for name , cls in module .__dict__ .items ():
3235 if not isinstance (cls , type ):
3336 continue
@@ -48,8 +51,8 @@ def setUpClass(cls_, module=module):
4851 cls_ ._save_sys_modules = sys .modules .copy ()
4952 sys .modules [TESTS ] = module
5053 sys .modules ['datetime' ] = module .datetime_module
51- if hasattr ( module , '_pydatetime' ):
52- sys .modules ['_pydatetime ' ] = module ._pydatetime
54+ sys . modules [ '_pydatetime' ] = module . _pydatetime
55+ sys .modules ['_datetime ' ] = module ._datetime
5356 sys .modules ['_strptime' ] = module ._strptime
5457 super ().setUpClass ()
5558
0 commit comments