Commits

Tim Peters  committed 7c22b5a

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.

  • Participants
  • Parent commits 1d3081c
  • Branches 2.4

Comments (0)

Files changed (1)

File Lib/test/test_importhooks.py

         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)