[Python-checkins] r43734 - python/trunk/Lib/test/test_socket_ssl.py

tim.peters python-checkins at python.org
Sat Apr 8 14:05:16 CEST 2006


Author: tim.peters
Date: Sat Apr  8 14:05:15 2006
New Revision: 43734

Modified:
   python/trunk/Lib/test/test_socket_ssl.py
Log:
test_timeout():  This test was added during Bug Day, but disabled
soon after because the gmail address it connects to started timing
out on all the buildbot slaves.  Rewrote the test to produce a
warning message (instead of failing) when the address times out.

Also removed the special case for Windows -- this test started to
work on Windows as soon as bug 1462352 was fixed.


Modified: python/trunk/Lib/test/test_socket_ssl.py
==============================================================================
--- python/trunk/Lib/test/test_socket_ssl.py	(original)
+++ python/trunk/Lib/test/test_socket_ssl.py	Sat Apr  8 14:05:15 2006
@@ -14,6 +14,9 @@
 
     import urllib
 
+    if test_support.verbose:
+        print "test_basic ..."
+
     socket.RAND_status()
     try:
         socket.RAND_egd(1)
@@ -27,28 +30,41 @@
     buf = f.read()
     f.close()
 
-# XXX Tim disabled this test on all platforms, for now, since the
-# XXX s.connect(("gmail.org", 995))
-# XXX line starting timing out on all the builbot slaves.
-if 0: #not sys.platform.startswith('win'):
-    def test_timeout():
-        test_support.requires('network')
-
-        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        s.settimeout(30.0)
-        # connect to service which issues an welcome banner (without need to
-        # write anything)
-        s.connect(("gmail.org", 995))
-        ss = socket.ssl(s)
-        # read part of return welcome banner twice
-        ss.read(1)
-        ss.read(1)
-        s.close()
-else:
-    def test_timeout():
-        pass
+def test_timeout():
+    test_support.requires('network')
+
+    if test_support.verbose:
+        print "test_timeout ..."
+
+    # A service which issues a welcome banner (without need to write
+    # anything).
+    # XXX ("gmail.org", 995) has been unreliable so far, from time to time
+    # XXX non-responsive for hours on end (& across all buildbot slaves,
+    # XXX so that's not just a local thing).
+    ADDR = "gmail.org", 995
+
+    s = socket.socket()
+    s.settimeout(30.0)
+    try:
+        s.connect(ADDR)
+    except socket.timeout:
+        print >> sys.stderr, """\
+    WARNING:  an attempt to connect to %r timed out, in
+    test_timeout.  That may be legitimate, but is not the outcome we hoped
+    for.  If this message is seen often, test_timeout should be changed to
+    use a more reliable address.""" % (ADDR,)
+        return
+
+    ss = socket.ssl(s)
+    # Read part of return welcome banner twice.
+    ss.read(1)
+    ss.read(1)
+    s.close()
 
 def test_rude_shutdown():
+    if test_support.verbose:
+        print "test_rude_shutdown ..."
+
     try:
         import threading
     except ImportError:


More information about the Python-checkins mailing list