Skip new imaplib SSL tests if ssl is not available.

This commit is contained in:
R. David Murray 2009-12-09 16:41:39 +00:00
parent 93321f333c
commit d4e31a4316

View file

@ -10,13 +10,17 @@ import os.path
import select import select
import socket import socket
import SocketServer import SocketServer
import ssl
import sys import sys
import time import time
from test_support import reap_threads, verbose from test_support import reap_threads, verbose
import unittest import unittest
try:
import ssl
except ImportError:
ssl = None
CERTFILE = None CERTFILE = None
@ -33,7 +37,9 @@ class TestImaplib(unittest.TestCase):
imaplib.Time2Internaldate(t) imaplib.Time2Internaldate(t)
class SecureTCPServer(SocketServer.TCPServer): if ssl:
class SecureTCPServer(SocketServer.TCPServer):
def get_request(self): def get_request(self):
newsocket, fromaddr = self.socket.accept() newsocket, fromaddr = self.socket.accept()
@ -42,6 +48,15 @@ class SecureTCPServer(SocketServer.TCPServer):
certfile=CERTFILE) certfile=CERTFILE)
return connstream, fromaddr return connstream, fromaddr
IMAP4_SSL = imaplib.IMAP4_SSL
else:
class SecureTCPServer:
pass
IMAP4_SSL = None
class SimpleIMAPHandler(SocketServer.StreamRequestHandler): class SimpleIMAPHandler(SocketServer.StreamRequestHandler):
@ -159,10 +174,11 @@ class ThreadedNetworkedTests(BaseThreadedNetworkedTests):
imap_class = imaplib.IMAP4 imap_class = imaplib.IMAP4
@unittest.skipUnless(ssl, "SSL not available")
class ThreadedNetworkedTestsSSL(BaseThreadedNetworkedTests): class ThreadedNetworkedTestsSSL(BaseThreadedNetworkedTests):
server_class = SecureTCPServer server_class = SecureTCPServer
imap_class = imaplib.IMAP4_SSL imap_class = IMAP4_SSL
def test_main(): def test_main():
@ -170,6 +186,7 @@ def test_main():
tests = [TestImaplib] tests = [TestImaplib]
if support.is_resource_enabled('network'): if support.is_resource_enabled('network'):
if ssl:
global CERTFILE global CERTFILE
CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir, CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
"keycert.pem") "keycert.pem")