mirror of
https://github.com/python/cpython.git
synced 2025-07-30 06:34:15 +00:00
Skip new imaplib SSL tests if ssl is not available.
This commit is contained in:
parent
93321f333c
commit
d4e31a4316
1 changed files with 31 additions and 14 deletions
|
@ -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,14 +37,25 @@ class TestImaplib(unittest.TestCase):
|
||||||
imaplib.Time2Internaldate(t)
|
imaplib.Time2Internaldate(t)
|
||||||
|
|
||||||
|
|
||||||
class SecureTCPServer(SocketServer.TCPServer):
|
if ssl:
|
||||||
|
|
||||||
def get_request(self):
|
class SecureTCPServer(SocketServer.TCPServer):
|
||||||
newsocket, fromaddr = self.socket.accept()
|
|
||||||
connstream = ssl.wrap_socket(newsocket,
|
def get_request(self):
|
||||||
server_side=True,
|
newsocket, fromaddr = self.socket.accept()
|
||||||
certfile=CERTFILE)
|
connstream = ssl.wrap_socket(newsocket,
|
||||||
return connstream, fromaddr
|
server_side=True,
|
||||||
|
certfile=CERTFILE)
|
||||||
|
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,11 +186,12 @@ def test_main():
|
||||||
tests = [TestImaplib]
|
tests = [TestImaplib]
|
||||||
|
|
||||||
if support.is_resource_enabled('network'):
|
if support.is_resource_enabled('network'):
|
||||||
global CERTFILE
|
if ssl:
|
||||||
CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
|
global CERTFILE
|
||||||
"keycert.pem")
|
CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
|
||||||
if not os.path.exists(CERTFILE):
|
"keycert.pem")
|
||||||
raise support.TestFailed("Can't read certificate files!")
|
if not os.path.exists(CERTFILE):
|
||||||
|
raise support.TestFailed("Can't read certificate files!")
|
||||||
tests.extend([ThreadedNetworkedTests, ThreadedNetworkedTestsSSL])
|
tests.extend([ThreadedNetworkedTests, ThreadedNetworkedTestsSSL])
|
||||||
|
|
||||||
support.run_unittest(*tests)
|
support.run_unittest(*tests)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue