From 03118bd804815a15dbd6f22a1ad7e6b89ab85a80 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 20 Jan 2016 18:19:29 +0100 Subject: [PATCH] tests: Add a quteproc_new fixture. This can be used to spawn a dedicated qutebrowser subprocess for a given test, e.g. to test specific commandline arguments. --- tests/integration/conftest.py | 2 +- tests/integration/quteprocess.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index 2d01a4aeb..5ce524bbb 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -22,5 +22,5 @@ """Things needed for integration testing.""" from webserver import httpbin, httpbin_after_test, ssl_server -from quteprocess import quteproc_process, quteproc +from quteprocess import quteproc_process, quteproc, quteproc_new from testprocess import pytest_runtest_makereport diff --git a/tests/integration/quteprocess.py b/tests/integration/quteprocess.py index 3aba8e235..d28480ac8 100644 --- a/tests/integration/quteprocess.py +++ b/tests/integration/quteprocess.py @@ -393,3 +393,14 @@ def quteproc(quteproc_process, httpbin, request): quteproc_process.before_test() yield quteproc_process quteproc_process.after_test() + + +@pytest.yield_fixture +def quteproc_new(qapp, httpbin, request): + """Per-test qutebrowser process to test invocations.""" + delay = request.config.getoption('--qute-delay') + proc = QuteProc(httpbin, delay) + request.node._quteproc_log = proc.captured_log + # Not calling before_test here as that would start the process + yield proc + proc.after_test()