summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-11-23 16:50:46 +0100
committerFlorian Bruhin <me@the-compiler.org>2020-11-23 16:50:46 +0100
commit9c3f35ca0888a9c12b3e270d74efc65e58f0fd1a (patch)
tree1431f8031f29e95dec2200b1ed0f8963afa056d6
parentcc48fc1502cca756c2d40d37e3ba48dc37b60f14 (diff)
downloadqutebrowser-9c3f35ca0888a9c12b3e270d74efc65e58f0fd1a.tar.gz
qutebrowser-9c3f35ca0888a9c12b3e270d74efc65e58f0fd1a.zip
tests: Preserve all server logs
-rw-r--r--tests/end2end/fixtures/testprocess.py12
-rw-r--r--tests/end2end/fixtures/webserver.py14
2 files changed, 16 insertions, 10 deletions
diff --git a/tests/end2end/fixtures/testprocess.py b/tests/end2end/fixtures/testprocess.py
index 85778c3e0..51352c539 100644
--- a/tests/end2end/fixtures/testprocess.py
+++ b/tests/end2end/fixtures/testprocess.py
@@ -101,7 +101,7 @@ def pytest_runtest_makereport(item, call):
return
quteproc_log = getattr(item, '_quteproc_log', None)
- server_log = getattr(item, '_server_log', None)
+ server_logs = getattr(item, '_server_logs', [])
if not hasattr(report.longrepr, 'addsection'):
# In some conditions (on macOS and Windows it seems), report.longrepr
@@ -114,11 +114,11 @@ def pytest_runtest_makereport(item, call):
verbose = item.config.getoption('--verbose')
if quteproc_log is not None:
- report.longrepr.addsection("qutebrowser output",
- _render_log(quteproc_log, verbose=verbose))
- if server_log is not None:
- report.longrepr.addsection("server output",
- _render_log(server_log, verbose=verbose))
+ report.longrepr.addsection(
+ "qutebrowser output", _render_log(quteproc_log, verbose=verbose))
+ for name, content in server_logs:
+ report.longrepr.addsection(
+ f"{name} output", _render_log(content, verbose=verbose))
class Process(QObject):
diff --git a/tests/end2end/fixtures/webserver.py b/tests/end2end/fixtures/webserver.py
index 9f4383b35..27ddff722 100644
--- a/tests/end2end/fixtures/webserver.py
+++ b/tests/end2end/fixtures/webserver.py
@@ -192,7 +192,10 @@ def server(qapp, request):
@pytest.fixture(autouse=True)
def server_per_test(server, request):
"""Fixture to clean server request list after each test."""
- request.node._server_log = server.captured_log
+ if not hasattr(request.node, '_server_logs'):
+ request.node._server_logs = []
+ request.node._server_logs.append(('server', server.captured_log))
+
server.before_test()
yield
server.after_test()
@@ -202,11 +205,14 @@ def server_per_test(server, request):
def ssl_server(request, qapp):
"""Fixture for a webserver with a self-signed SSL certificate.
- This needs to be explicitly used in a test, and overwrites the server log
- used in that test.
+ This needs to be explicitly used in a test.
"""
server = WebserverProcess(request, 'webserver_sub_ssl')
- request.node._server_log = server.captured_log
+
+ if not hasattr(request.node, '_server_logs'):
+ request.node._server_logs = []
+ request.node._server_logs.append(('SSL server', server.captured_log))
+
server.start()
yield server
server.after_test()