]> granicus.if.org Git - python/commitdiff
Make test_datetime a better citizen (issue #22540)
authorAntoine Pitrou <solipsis@pitrou.net>
Fri, 3 Oct 2014 09:25:30 +0000 (11:25 +0200)
committerAntoine Pitrou <solipsis@pitrou.net>
Fri, 3 Oct 2014 09:25:30 +0000 (11:25 +0200)
Lib/test/datetimetester.py
Lib/test/test_datetime.py

index 80904d6999a5103319d12e31ed8287512fa369fd..cf85bd8afd1faef02724cea0c71d9c936c6ecfa9 100644 (file)
@@ -3,6 +3,7 @@
 See http://www.zope.org/Members/fdrake/DateTimeWiki/TestCases
 """
 
+import decimal
 import sys
 import pickle
 import random
@@ -3808,7 +3809,6 @@ class Oddballs(unittest.TestCase):
                 x.abc = 1
 
     def test_check_arg_types(self):
-        import decimal
         class Number:
             def __init__(self, value):
                 self.value = value
index d9ddb32363a0d3ad9ea05c0d17003fcae3ecd0f0..2d4eb52c62c09ca1da4568706f734ea077fffd5d 100644 (file)
@@ -1,20 +1,20 @@
 import unittest
 import sys
+
 from test.support import import_fresh_module, run_unittest
 
 TESTS = 'test.datetimetester'
 
-# XXX: import_fresh_module() is supposed to leave sys.module cache untouched,
-# XXX: but it does not, so we have to save and restore it ourselves.
-save_sys_modules = sys.modules.copy()
 try:
     pure_tests = import_fresh_module(TESTS, fresh=['datetime', '_strptime'],
                                      blocked=['_datetime'])
     fast_tests = import_fresh_module(TESTS, fresh=['datetime',
                                                    '_datetime', '_strptime'])
 finally:
-    sys.modules.clear()
-    sys.modules.update(save_sys_modules)
+    # XXX: import_fresh_module() is supposed to leave sys.module cache untouched,
+    # XXX: but it does not, so we have to cleanup ourselves.
+    for modname in ['datetime', '_datetime', '_strptime']:
+        sys.modules.pop(modname, None)
 test_modules = [pure_tests, fast_tests]
 test_suffixes = ["_Pure", "_Fast"]
 # XXX(gb) First run all the _Pure tests, then all the _Fast tests.  You might