From df53b84901a65db990393726d18ffbb300de6f55 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 2 Jun 2021 17:39:30 +0200 Subject: [PATCH] bpo-43921: Fix test_ssl.test_pha_required_nocert() Fix test_pha_required_nocert() of test_ssl: catch two more EOF cases (when the recv() method returns an empty string). --- Lib/test/test_ssl.py | 11 +++++++++-- .../Tests/2021-06-02-17-41-42.bpo-43921.xP7yZ4.rst | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Tests/2021-06-02-17-41-42.bpo-43921.xP7yZ4.rst diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index 0d38d7756fdc72..2df62329411889 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -4460,11 +4460,18 @@ def msg_cb(conn, direction, version, content_type, msg_type, data): '(certificate required|EOF occurred)' ): # receive CertificateRequest - self.assertEqual(s.recv(1024), b'OK\n') + data = s.recv(1024) + if not data: + raise ssl.SSLError(1, "EOF occurred") + self.assertEqual(data, b'OK\n') + # send empty Certificate + Finish s.write(b'HASCERT') + # receive alert - s.recv(1024) + data = s.recv(1024) + if not data: + raise ssl.SSLError(1, "EOF occurred") def test_pha_optional(self): if support.verbose: diff --git a/Misc/NEWS.d/next/Tests/2021-06-02-17-41-42.bpo-43921.xP7yZ4.rst b/Misc/NEWS.d/next/Tests/2021-06-02-17-41-42.bpo-43921.xP7yZ4.rst new file mode 100644 index 00000000000000..83146c78524671 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2021-06-02-17-41-42.bpo-43921.xP7yZ4.rst @@ -0,0 +1,2 @@ +Fix test_pha_required_nocert() of test_ssl: catch two more EOF cases (when +the ``recv()`` method returns an empty string). Patch by Victor Stinner.