From 9c9eea66e432be97c1c43f44425ee0b878ecaa02 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Mon, 4 Nov 2024 18:00:08 +0100 Subject: [PATCH] gh-126499: test_ssl: Don't assume err.reason is a string The skipping machinery called `getattr(err, "reason", "")` on an arbitrary exception. As intermittent Buildbot failures show, sometimes it's set to None. Convert it to string for this specific check. --- Lib/test/test_ssl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index de5110a1cc4b6d..ca9dac97c8e213 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -5029,7 +5029,7 @@ def non_linux_skip_if_other_okay_error(self, err): return # Expect the full test setup to always work on Linux. if (isinstance(err, ConnectionResetError) or (isinstance(err, OSError) and err.errno == errno.EINVAL) or - re.search('wrong.version.number', getattr(err, "reason", ""), re.I)): + re.search('wrong.version.number', str(getattr(err, "reason", "")), re.I)): # On Windows the TCP RST leads to a ConnectionResetError # (ECONNRESET) which Linux doesn't appear to surface to userspace. # If wrap_socket() winds up on the "if connected:" path and doing