Kaydet (Commit) 3e533c22 authored tarafından Neal Norwitz's avatar Neal Norwitz

Make a utility function for handling (printing) an error

üst f6f525b7
...@@ -24,6 +24,12 @@ except ImportError: ...@@ -24,6 +24,12 @@ except ImportError:
CERTFILE = None CERTFILE = None
GMAIL_POP_CERTFILE = None GMAIL_POP_CERTFILE = None
def handle_error(prefix):
exc_format = ' '.join(traceback.format_exception(*sys.exc_info()))
sys.stdout.write(prefix + exc_format)
class BasicTests(unittest.TestCase): class BasicTests(unittest.TestCase):
def testRudeShutdown(self): def testRudeShutdown(self):
...@@ -93,15 +99,13 @@ class ConnectedTests(unittest.TestCase): ...@@ -93,15 +99,13 @@ class ConnectedTests(unittest.TestCase):
try: try:
s1.connect(('127.0.0.1', 10024)) s1.connect(('127.0.0.1', 10024))
except: except:
sys.stdout.write("connection failure:\n" + ' '.join( handle_error("connection failure:\n")
traceback.format_exception(*sys.exc_info())))
raise test_support.TestFailed("Can't connect to test server") raise test_support.TestFailed("Can't connect to test server")
else: else:
try: try:
c1 = ssl.sslsocket(s1, ssl_version=ssl.PROTOCOL_TLSv1) c1 = ssl.sslsocket(s1, ssl_version=ssl.PROTOCOL_TLSv1)
except: except:
sys.stdout.write("SSL handshake failure:\n" + ' '.join( handle_error("SSL handshake failure:\n")
traceback.format_exception(*sys.exc_info())))
raise test_support.TestFailed("Can't SSL-handshake with test server") raise test_support.TestFailed("Can't SSL-handshake with test server")
else: else:
if not c1: if not c1:
...@@ -119,16 +123,14 @@ class ConnectedTests(unittest.TestCase): ...@@ -119,16 +123,14 @@ class ConnectedTests(unittest.TestCase):
try: try:
s2.connect(('127.0.0.1', 10024)) s2.connect(('127.0.0.1', 10024))
except: except:
sys.stdout.write("connection failure:\n" + ' '.join( handle_error("connection failure:\n")
traceback.format_exception(*sys.exc_info())))
raise test_support.TestFailed("Can't connect to test server") raise test_support.TestFailed("Can't connect to test server")
else: else:
try: try:
c2 = ssl.sslsocket(s2, ssl_version=ssl.PROTOCOL_TLSv1, c2 = ssl.sslsocket(s2, ssl_version=ssl.PROTOCOL_TLSv1,
cert_reqs=ssl.CERT_REQUIRED, ca_certs=CERTFILE) cert_reqs=ssl.CERT_REQUIRED, ca_certs=CERTFILE)
except: except:
sys.stdout.write("SSL handshake failure:\n" + ' '.join( handle_error("SSL handshake failure:\n")
traceback.format_exception(*sys.exc_info())))
raise test_support.TestFailed("Can't SSL-handshake with test server") raise test_support.TestFailed("Can't SSL-handshake with test server")
else: else:
if not c2: if not c2:
...@@ -173,8 +175,7 @@ class ThreadedEchoServer(threading.Thread): ...@@ -173,8 +175,7 @@ class ThreadedEchoServer(threading.Thread):
except: except:
# here, we want to stop the server, because this shouldn't # here, we want to stop the server, because this shouldn't
# happen in the context of our test case # happen in the context of our test case
sys.stdout.write("Test server failure:\n" + ' '.join( handle_error("Test server failure:\n")
traceback.format_exception(*sys.exc_info())))
self.running = False self.running = False
# normally, we'd just stop here, but for the test # normally, we'd just stop here, but for the test
# harness, we want to stop the server # harness, we want to stop the server
...@@ -196,16 +197,14 @@ class ThreadedEchoServer(threading.Thread): ...@@ -196,16 +197,14 @@ class ThreadedEchoServer(threading.Thread):
#sys.stdout.write("\nserver: %s\n" % msg.strip().lower()) #sys.stdout.write("\nserver: %s\n" % msg.strip().lower())
sslconn.write(msg.lower()) sslconn.write(msg.lower())
except ssl.sslerror: except ssl.sslerror:
sys.stdout.write("Test server failure:\n" + ' '.join( handle_error("Test server failure:\n")
traceback.format_exception(*sys.exc_info())))
sslconn.close() sslconn.close()
self.running = False self.running = False
# normally, we'd just stop here, but for the test # normally, we'd just stop here, but for the test
# harness, we want to stop the server # harness, we want to stop the server
self.server.stop() self.server.stop()
except: except:
sys.stdout.write(' '.join( handle_error('')
traceback.format_exception(*sys.exc_info())))
def __init__(self, port, certificate, ssl_version=None, def __init__(self, port, certificate, ssl_version=None,
certreqs=None, cacerts=None): certreqs=None, cacerts=None):
...@@ -250,8 +249,7 @@ class ThreadedEchoServer(threading.Thread): ...@@ -250,8 +249,7 @@ class ThreadedEchoServer(threading.Thread):
except KeyboardInterrupt: except KeyboardInterrupt:
self.stop() self.stop()
except: except:
sys.stdout.write("Test server failure:\n" + ' '.join( handle_error("Test server failure:\n")
traceback.format_exception(*sys.exc_info())))
def stop (self): def stop (self):
self.active = False self.active = False
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment