[Python-checkins] r80523 - in python/branches/release26-maint: Lib/test/test_ssl.py

antoine.pitrou python-checkins at python.org
Tue Apr 27 10:43:11 CEST 2010


Author: antoine.pitrou
Date: Tue Apr 27 10:43:11 2010
New Revision: 80523

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/release26-maint/   (props changed)
   python/branches/release26-maint/Lib/test/test_ssl.py

Modified: python/branches/release26-maint/Lib/test/test_ssl.py
==============================================================================
--- python/branches/release26-maint/Lib/test/test_ssl.py	(original)
+++ python/branches/release26-maint/Lib/test/test_ssl.py	Tue Apr 27 10:43:11 2010
@@ -659,9 +659,9 @@
             self.flag = None
             self.active = False
             self.RootedHTTPRequestHandler.root = os.path.split(CERTFILE)[0]
-            self.port = test_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
 
@@ -807,28 +807,28 @@
 
             listener_ready = threading.Event()
             listener_gone = threading.Event()
-            port = test_support.find_unused_port()
 
-            # `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.
+            s = socket.socket()
+            port = test_support.bind_port(s, HOST)
+
+            # `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:
@@ -837,8 +837,10 @@
 
             t = threading.Thread(target=listener)
             t.start()
-            connector()
-            t.join()
+            try:
+                connector()
+            finally:
+                t.join()
 
         def testEcho (self):
 
@@ -1317,10 +1319,6 @@
         not os.path.exists(SVN_PYTHON_ORG_ROOT_CERT)):
         raise test_support.TestFailed("Can't read certificate files!")
 
-    TESTPORT = test_support.find_unused_port()
-    if not TESTPORT:
-        raise test_support.TestFailed("Can't find open port to test servers on!")
-
     tests = [BasicTests]
 
     if test_support.is_resource_enabled('network'):


More information about the Python-checkins mailing list