]> granicus.if.org Git - python/commitdiff
Issue #13898: test_ssl no longer prints a spurious stack trace on Ubuntu.
authorNadeem Vawda <nadeem.vawda@gmail.com>
Sun, 3 Mar 2013 21:31:21 +0000 (22:31 +0100)
committerNadeem Vawda <nadeem.vawda@gmail.com>
Sun, 3 Mar 2013 21:31:21 +0000 (22:31 +0100)
Lib/test/test_ssl.py
Misc/NEWS

index 4f254a98f325966c22f7dcc8c7b7b40c597b7d5f..d1cb3f1b84cd70d8bdb6e039c532c501fa49d2b9 100644 (file)
@@ -774,7 +774,13 @@ else:
                 try:
                     self.sslconn = self.server.context.wrap_socket(
                         self.sock, server_side=True)
-                except ssl.SSLError as e:
+                except (ssl.SSLError, socket.error) as e:
+                    # Treat ECONNRESET as though it were an SSLError - OpenSSL
+                    # on Ubuntu abruptly closes the connection when asked to use
+                    # an unsupported protocol.
+                    if (not isinstance(e, ssl.SSLError) and
+                        e.errno != errno.ECONNRESET):
+                        raise
                     # XXX Various errors can have happened here, for example
                     # a mismatching protocol version, an invalid certificate,
                     # or a low-level bug. This should be made more discriminating.
index d3f1ee7a1590eca9bcbfefd71303b0eab35ad427..a003fe26a554d58f40a0b826921b066af904ef1e 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -947,6 +947,8 @@ Extension Modules
 Tests
 -----
 
+- Issue #13898: test_ssl no longer prints a spurious stack trace on Ubuntu.
+
 - Issue #17249: convert a test in test_capi to use unittest and reap threads.
 
 - Issue #17041: Fix testing when Python is configured with the