diff --git a/tests/conftest.py b/tests/conftest.py index 6cc1f04486..aaa8f735c1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,7 @@ +import os +import pytest + + def pytest_configure(config): import sys @@ -22,3 +26,14 @@ def move_to_front(items, test_name): test = [fn for fn in items if fn.name == test_name] if test: items.insert(0, items.pop(items.index(test[0]))) + + +@pytest.fixture +def restore_working_directory(tmpdir, request): + previous_cwd = os.getcwd() + tmpdir.chdir() + + def return_to_previous(): + os.chdir(previous_cwd) + + request.addfinalizer(return_to_previous) diff --git a/tests/test_plugins.py b/tests/test_plugins.py index 00dc998d6e..b1c7fd9a43 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -191,7 +191,7 @@ def test_plugins_asgi_wrapper(app_client): assert "fixtures" == response.headers["x-databases"] -def test_plugins_extra_template_vars(): +def test_plugins_extra_template_vars(restore_working_directory): for client in make_app_client( template_dir=str(pathlib.Path(__file__).parent / "test_templates") ):