From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 24 Jun 2021 12:25:41 +0000 (-0700) Subject: bpo-44229: Ignore spurious EPROTOTYPE on macOS in test_ssl (GH-26893) X-Git-Tag: v3.9.6~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0796e21fea31fe7b697d84c8d03186817792c458;p=thirdparty%2FPython%2Fcpython.git bpo-44229: Ignore spurious EPROTOTYPE on macOS in test_ssl (GH-26893) (cherry picked from commit b5a52eef67997246b4235b5407e52a01e822ce56) Co-authored-by: Erlend Egeberg Aasland --- diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index c69f0d8bffc0..f928bcea2d1a 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -2385,9 +2385,14 @@ class ThreadedEchoServer(threading.Thread): self.server.conn_errors.append(str(e)) if self.server.chatty: handle_error("\n server: bad connection attempt from " + repr(self.addr) + ":\n") - self.running = False - self.server.stop() - self.close() + + # bpo-44229, bpo-43855, bpo-44237, and bpo-33450: + # Ignore spurious EPROTOTYPE returned by write() on macOS. + # See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/ + if e.errno != errno.EPROTOTYPE and sys.platform != "darwin": + self.running = False + self.server.stop() + self.close() return False else: self.server.shared_ciphers.append(self.sslconn.shared_ciphers())