From 6ee7a23c7ecc60a9ddac756945105de72d0b6b71 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 26 Mar 2024 14:15:09 +0100 Subject: tests: Ignore new SSL error message Seems to break in bleeding edge tests --- tests/end2end/fixtures/webserver.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/end2end/fixtures/webserver.py b/tests/end2end/fixtures/webserver.py index 5051efa85..eca8ed1bb 100644 --- a/tests/end2end/fixtures/webserver.py +++ b/tests/end2end/fixtures/webserver.py @@ -9,6 +9,7 @@ import sys import json import pathlib import socket +import fnmatch import dataclasses from http import HTTPStatus @@ -111,6 +112,17 @@ class ExpectedRequest: return NotImplemented +def is_ignored_webserver_message(line: str) -> bool: + return fnmatch.fnmatchcase( + line, + ( + "Client ('127.0.0.1', *) lost — peer dropped the TLS connection suddenly, " + "during handshake: (1, '[SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] ssl/tls " + "alert certificate unknown (_ssl.c:*)')" + ) + ) + + class WebserverProcess(testprocess.Process): """Abstraction over a running Flask server process. @@ -151,7 +163,13 @@ class WebserverProcess(testprocess.Process): if started_re.fullmatch(line): self.ready.emit() return None - return Request(line) + + try: + return Request(line) + except testprocess.InvalidLine: + if is_ignored_webserver_message(line): + return None + raise def _executable_args(self): if hasattr(sys, 'frozen'): -- cgit v1.2.3-54-g00ecf