bpo-43921: Fix test_ssl.test_pha_required_nocert() (GH-26489)
Fix test_pha_required_nocert() of test_ssl: catch two more EOF cases
(when the recv() method returns an empty string).
(cherry picked from commit 320eaa7f42b413cd5e5436ec92d4dc5ba150395f)
Co-authored-by: Victor Stinner <vstinner@python.org>
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 00d5eff..fbd0131 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -4464,11 +4464,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: