diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py index 8f41d7fec10..7236947f580 100644 --- a/Lib/test/test_xmlrpc.py +++ b/Lib/test/test_xmlrpc.py @@ -144,30 +144,18 @@ def test_get_host_info(self): [('Authorization', 'Basic dXNlcg==')], {})) def test_ssl_presence(self): - #Check for ssl support - have_ssl = False - if hasattr(socket, 'ssl'): - have_ssl = True + try: + import ssl + except: + have_ssl = False else: - try: - import ssl - except: - pass - else: - have_ssl = True + has_ssl = True try: xmlrpc.client.ServerProxy('https://localhost:9999').bad_function() - except: - exc = sys.exc_info() - if exc[0] == socket.error: - self.assertTrue(have_ssl, - "No SSL support, but xmlrpclib reports supported.") - elif exc[0] == NotImplementedError and str(exc[1]) == \ - "your version of http.client doesn't support HTTPS": - self.assertFalse(have_ssl, - "SSL supported, but xmlrpclib reports not.") - else: - self.fail("Unable to determine status of SSL check.") + except NotImplementedError: + self.assertFalse(has_ssl, "xmlrpc client's error with SSL support") + except socket.error: + self.assertTrue(has_ssl) class HelperTestCase(unittest.TestCase): def test_escape(self): diff --git a/Lib/xmlrpc/client.py b/Lib/xmlrpc/client.py index d7dbbcc2e11..9357ac33e2a 100644 --- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -1178,7 +1178,7 @@ class SafeTransport(Transport): def send_request(self, host, handler, request_body, debug): import socket - if not hasattr(http.client, "ssl"): + if not hasattr(http.client, "HTTPSConnection"): raise NotImplementedError( "your version of http.client doesn't support HTTPS")