[Python-checkins] r80524 - in python/branches/py3k: Lib/test/test_ssl.py

antoine.pitrou python-checkins at python.org
Tue Apr 27 10:53:36 CEST 2010


Author: antoine.pitrou
Date: Tue Apr 27 10:53:36 2010
New Revision: 80524

Log:
Merged revisions 80522 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80522 | antoine.pitrou | 2010-04-27 10:40:51 +0200 (mar., 27 avril 2010) | 3 lines
  
  Remove uses of find_unused_port() in test_ssl, and small cleanups
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/test/test_ssl.py

Modified: python/branches/py3k/Lib/test/test_ssl.py
==============================================================================
--- python/branches/py3k/Lib/test/test_ssl.py	(original)
+++ python/branches/py3k/Lib/test/test_ssl.py	Tue Apr 27 10:53:36 2010
@@ -587,9 +587,9 @@
             self.flag = None
             self.active = False
             self.RootedHTTPRequestHandler.root = os.path.split(CERTFILE)[0]
-            self.port = support.find_unused_port()
             self.server = self.HTTPSServer(
-                (HOST, self.port), self.RootedHTTPRequestHandler, certfile)
+                (HOST, 0), self.RootedHTTPRequestHandler, certfile)
+            self.port = self.server.server_port
             threading.Thread.__init__(self)
             self.daemon = True
 
@@ -670,12 +670,11 @@
                 def handle_error(self):
                     raise
 
-            def __init__(self, port, certfile):
-                self.port = port
+            def __init__(self, certfile):
                 self.certfile = certfile
-                asyncore.dispatcher.__init__(self)
-                self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
-                self.bind(('', port))
+                sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+                self.port = support.bind_port(sock, '')
+                asyncore.dispatcher.__init__(self, sock)
                 self.listen(5)
 
             def handle_accept(self):
@@ -690,8 +689,8 @@
         def __init__(self, certfile):
             self.flag = None
             self.active = False
-            self.port = support.find_unused_port()
-            self.server = self.EchoServer(self.port, certfile)
+            self.server = self.EchoServer(certfile)
+            self.port = self.server.port
             threading.Thread.__init__(self)
             self.daemon = True
 
@@ -925,38 +924,39 @@
 
             listener_ready = threading.Event()
             listener_gone = threading.Event()
-            port = support.find_unused_port()
+            s = socket.socket()
+            port = support.bind_port(s, HOST)
 
-            # `listener` runs in a thread.  It opens a socket listening on
-            # PORT, and sits in an accept() until the main thread connects.
-            # Then it rudely closes the socket, and sets Event `listener_gone`
-            # to let the main thread know the socket is gone.
+            # `listener` runs in a thread.  It sits in an accept() until
+            # the main thread connects.  Then it rudely closes the socket,
+            # and sets Event `listener_gone` to let the main thread know
+            # the socket is gone.
             def listener():
-                s = socket.socket()
-                s.bind((HOST, port))
                 s.listen(5)
                 listener_ready.set()
                 s.accept()
-                s = None # reclaim the socket object, which also closes it
+                s.close()
                 listener_gone.set()
 
             def connector():
                 listener_ready.wait()
-                s = socket.socket()
-                s.connect((HOST, port))
+                c = socket.socket()
+                c.connect((HOST, port))
                 listener_gone.wait()
                 try:
-                    ssl_sock = ssl.wrap_socket(s)
+                    ssl_sock = ssl.wrap_socket(c)
                 except IOError:
                     pass
                 else:
-                    raise support.TestFailed(
+                    raise test_support.TestFailed(
                           'connecting to closed SSL socket should have failed')
 
             t = threading.Thread(target=listener)
             t.start()
-            connector()
-            t.join()
+            try:
+                connector()
+            finally:
+                t.join()
 
         def testProtocolSSL2(self):
             if support.verbose:


More information about the Python-checkins mailing list