Skip new imaplib SSL tests if ssl is not available.
diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py
index ded8828..bfda0de 100644
--- a/Lib/test/test_imaplib.py
+++ b/Lib/test/test_imaplib.py
@@ -10,13 +10,17 @@
import select
import socket
import SocketServer
-import ssl
import sys
import time
from test_support import reap_threads, verbose
import unittest
+try:
+ import ssl
+except ImportError:
+ ssl = None
+
CERTFILE = None
@@ -33,14 +37,25 @@
imaplib.Time2Internaldate(t)
-class SecureTCPServer(SocketServer.TCPServer):
+if ssl:
- def get_request(self):
- newsocket, fromaddr = self.socket.accept()
- connstream = ssl.wrap_socket(newsocket,
- server_side=True,
- certfile=CERTFILE)
- return connstream, fromaddr
+ class SecureTCPServer(SocketServer.TCPServer):
+
+ def get_request(self):
+ newsocket, fromaddr = self.socket.accept()
+ connstream = ssl.wrap_socket(newsocket,
+ server_side=True,
+ certfile=CERTFILE)
+ return connstream, fromaddr
+
+ IMAP4_SSL = imaplib.IMAP4_SSL
+
+else:
+
+ class SecureTCPServer:
+ pass
+
+ IMAP4_SSL = None
class SimpleIMAPHandler(SocketServer.StreamRequestHandler):
@@ -159,10 +174,11 @@
imap_class = imaplib.IMAP4
+@unittest.skipUnless(ssl, "SSL not available")
class ThreadedNetworkedTestsSSL(BaseThreadedNetworkedTests):
server_class = SecureTCPServer
- imap_class = imaplib.IMAP4_SSL
+ imap_class = IMAP4_SSL
def test_main():
@@ -170,11 +186,12 @@
tests = [TestImaplib]
if support.is_resource_enabled('network'):
- global CERTFILE
- CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
- "keycert.pem")
- if not os.path.exists(CERTFILE):
- raise support.TestFailed("Can't read certificate files!")
+ if ssl:
+ global CERTFILE
+ CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
+ "keycert.pem")
+ if not os.path.exists(CERTFILE):
+ raise support.TestFailed("Can't read certificate files!")
tests.extend([ThreadedNetworkedTests, ThreadedNetworkedTestsSSL])
support.run_unittest(*tests)