]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merge revs 42842, 42844, and part of a whitespace normalization
authorTim Peters <tim.peters@gmail.com>
Mon, 20 Mar 2006 02:12:05 +0000 (02:12 +0000)
committerTim Peters <tim.peters@gmail.com>
Mon, 20 Mar 2006 02:12:05 +0000 (02:12 +0000)
patch from the trunk.

This stops test_socket_ssl from dying with:

    TypeError: 'NoneType' object is not callable

in urlparsre.py's urljoin() when the tests are run in this order:

    test_???
    test_importhooks
    test_socket_ssl

"test_???" can be various things, but must be there.  For
example, test_urllibnet "works" to provoke the failure.

Alas, nobody actually understands _why_ test_socket_ssl fails
then, or why this hack makes the problem go away.

Amazingly, the tests just happened to run in the right order on
the 2.4 branch on two Windows buildbot slaves today, causing them
both to fail their most recent test runs before this patch.

Lib/test/test_importhooks.py

index 93042130bee288eb54e7b11f40131a219dc10273..847f08993bc5cf34e8af965ef78260949385fe89 100644 (file)
@@ -212,6 +212,13 @@ 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)