Commit 951af2d7 authored by Benjamin Peterson's avatar Benjamin Peterson Committed by GitHub

closes bpo-36755: Suppress noisy error output in test HTTPS server by default. (GH-13370)

TLS 1.3 has a more efficient handshake protocol. The client can reject the server's credentials and close the connection before the server has even finished writing out all of its initial data. Depending on whether the server finishes writing the rest of its handshake before the it sees the connection is reset, the server will read an empty line or see a ECONNRESET OSError. Nothing is really wrong here with the server or client, so just suppress the error output in the OSError case to fix the test.

This fix isn't required in Python 3 because clients that reject the server's certificate will shut down the TLS layer before closing the TCP connection.
parent f24a9f3b
...@@ -42,6 +42,11 @@ class HTTPSServer(_HTTPServer): ...@@ -42,6 +42,11 @@ class HTTPSServer(_HTTPServer):
raise raise
return sslconn, addr return sslconn, addr
def handle_error(self, request, client_address):
"Suppose noisy error output by default."
if support.verbose:
_HTTPServer.handle_error(self, request, client_address)
class RootedHTTPRequestHandler(SimpleHTTPRequestHandler): class RootedHTTPRequestHandler(SimpleHTTPRequestHandler):
# need to override translate_path to get a known root, # need to override translate_path to get a known root,
# instead of using os.curdir, since the test could be # instead of using os.curdir, since the test could be
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment