diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-11-23 16:50:46 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-11-23 16:50:46 +0100 |
commit | 9c3f35ca0888a9c12b3e270d74efc65e58f0fd1a (patch) | |
tree | 1431f8031f29e95dec2200b1ed0f8963afa056d6 | |
parent | cc48fc1502cca756c2d40d37e3ba48dc37b60f14 (diff) | |
download | qutebrowser-9c3f35ca0888a9c12b3e270d74efc65e58f0fd1a.tar.gz qutebrowser-9c3f35ca0888a9c12b3e270d74efc65e58f0fd1a.zip |
tests: Preserve all server logs
-rw-r--r-- | tests/end2end/fixtures/testprocess.py | 12 | ||||
-rw-r--r-- | tests/end2end/fixtures/webserver.py | 14 |
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() |