Issue #12136: Added change to handle non-availability of the ssl module.
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index c1684ee..496575a 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -1526,14 +1526,17 @@
for secure in (False, True):
addr = ('localhost', 0)
if secure:
- import ssl
- fd, fn = tempfile.mkstemp()
- os.close(fd)
- with open(fn, 'w') as f:
- f.write(self.PEMFILE)
- sslctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
- sslctx.load_cert_chain(fn)
- os.unlink(fn)
+ try:
+ import ssl
+ fd, fn = tempfile.mkstemp()
+ os.close(fd)
+ with open(fn, 'w') as f:
+ f.write(self.PEMFILE)
+ sslctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
+ sslctx.load_cert_chain(fn)
+ os.unlink(fn)
+ except ImportError:
+ sslctx = None
else:
sslctx = None
self.server = server = TestHTTPServer(addr, self.handle_request,
@@ -1541,7 +1544,9 @@
server.start()
server.ready.wait()
host = 'localhost:%d' % server.server_port
- self.h_hdlr = logging.handlers.HTTPHandler(host, '/frob', secure=secure)
+ secure_client = secure and sslctx
+ self.h_hdlr = logging.handlers.HTTPHandler(host, '/frob',
+ secure=secure_client)
self.log_data = None
root_logger.addHandler(self.h_hdlr)