[Python-checkins] r43150 - python/branches/release24-maint/Lib/test/test_importhooks.py

tim.peters python-checkins at python.org
Mon Mar 20 03:12:05 CET 2006


Author: tim.peters
Date: Mon Mar 20 03:12:05 2006
New Revision: 43150

Modified:
   python/branches/release24-maint/Lib/test/test_importhooks.py
Log:
Merge revs 42842, 42844, and part of a whitespace normalization
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.


Modified: python/branches/release24-maint/Lib/test/test_importhooks.py
==============================================================================
--- python/branches/release24-maint/Lib/test/test_importhooks.py	(original)
+++ python/branches/release24-maint/Lib/test/test_importhooks.py	Mon Mar 20 03:12:05 2006
@@ -212,6 +212,13 @@
         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)


More information about the Python-checkins mailing list