summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-07-20 23:18:55 (GMT)
committerGeorg Brandl <georg@python.org>2008-07-20 23:18:55 (GMT)
commitfa267829e7a68b7c8c0814108094a0fb6437ff8d (patch)
treedba4e5371fa8c2b1355522dac002ed7327f6d473 /Lib
parentbe3ff9cdc976e09834d1fe696803b837798c28af (diff)
downloadcpython-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.py25
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)