diff options
author | Georg Brandl <georg@python.org> | 2008-07-20 23:18:55 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-07-20 23:18:55 (GMT) |
commit | fa267829e7a68b7c8c0814108094a0fb6437ff8d (patch) | |
tree | dba4e5371fa8c2b1355522dac002ed7327f6d473 /Lib | |
parent | be3ff9cdc976e09834d1fe696803b837798c28af (diff) | |
download | cpython-fa267829e7a68b7c8c0814108094a0fb6437ff8d.zip cpython-fa267829e7a68b7c8c0814108094a0fb6437ff8d.tar.gz cpython-fa267829e7a68b7c8c0814108094a0fb6437ff8d.tar.bz2 |
Save the whole of sys.modules instead of using an import tracker.
This, when merged to py3k, will fix the spurious buildbot failure
in test_urllib2 ("<urlopen error unknown url type: do>").
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_importhooks.py | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/Lib/test/test_importhooks.py b/Lib/test/test_importhooks.py index e8b4695..643ecce 100644 --- a/Lib/test/test_importhooks.py +++ b/Lib/test/test_importhooks.py @@ -33,15 +33,6 @@ test2_futrel_co = compile(futimp + relimp + test_src, "<???>", "exec") test_path = "!!!_test_!!!" -class ImportTracker: - """Importer that only tracks attempted imports.""" - def __init__(self): - self.imports = [] - def find_module(self, fullname, path=None): - self.imports.append(fullname) - return None - - class TestImporter: modules = { @@ -152,17 +143,15 @@ class ImportHooksBaseTestCase(unittest.TestCase): self.meta_path = sys.meta_path[:] self.path_hooks = sys.path_hooks[:] sys.path_importer_cache.clear() - self.tracker = ImportTracker() - sys.meta_path.insert(0, self.tracker) + self.modules_before = sys.modules.copy() def tearDown(self): sys.path[:] = self.path sys.meta_path[:] = self.meta_path sys.path_hooks[:] = self.path_hooks sys.path_importer_cache.clear() - for fullname in self.tracker.imports: - if fullname in sys.modules: - del sys.modules[fullname] + sys.modules.clear() + sys.modules.update(self.modules_before) class ImportHooksTestCase(ImportHooksBaseTestCase): @@ -261,13 +250,7 @@ class ImportHooksTestCase(ImportHooksBaseTestCase): for mname in mnames: m = __import__(mname, globals(), locals(), ["__dummy__"]) m.__loader__ # to make sure we actually handled the import - # Delete urllib from modules because urlparse was imported above. - # Without this hack, test_socket_ssl fails if run in this order: - # regrtest.py test_codecmaps_tw test_importhooks test_socket_ssl - try: - del sys.modules['urllib'] - except KeyError: - pass + def test_main(): test_support.run_unittest(ImportHooksTestCase) |