diff options
author | Florian Bruhin <me@the-compiler.org> | 2024-03-26 14:15:09 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2024-03-26 14:15:09 +0100 |
commit | 6ee7a23c7ecc60a9ddac756945105de72d0b6b71 (patch) | |
tree | 9753e49fcb1316932110cbc540994a1309248107 /tests/end2end/fixtures/webserver.py | |
parent | 0a5d92119e27c8923fd2140e6fb407acd3c04f90 (diff) | |
download | qutebrowser-6ee7a23c7ecc60a9ddac756945105de72d0b6b71.tar.gz qutebrowser-6ee7a23c7ecc60a9ddac756945105de72d0b6b71.zip |
tests: Ignore new SSL error message
Seems to break in bleeding edge tests
Diffstat (limited to 'tests/end2end/fixtures/webserver.py')
-rw-r--r-- | tests/end2end/fixtures/webserver.py | 20 |
1 files changed, 19 insertions, 1 deletions
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'): |