diff --git a/Lib/test/test_socket_ssl.py b/Lib/test/test_socket_ssl.py index bfc6e60a94..e9de5f2b09 100644 --- a/Lib/test/test_socket_ssl.py +++ b/Lib/test/test_socket_ssl.py @@ -15,6 +15,9 @@ def test_basic(): import urllib + if test_support.verbose: + print "test_basic ..." + socket.RAND_status() try: socket.RAND_egd(1) @@ -28,28 +31,41 @@ def test_basic(): 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') +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 + 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 thread except ImportError: