conftest: cleanup environment cleaner (#31486)

* clean env

* no self
pull/31488/head
Justin Newberry 1 year ago committed by GitHub
parent 663f7017f2
commit 0cb206cb95
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 21
      conftest.py

@ -1,3 +1,4 @@
import contextlib
import gc import gc
import os import os
import pytest import pytest
@ -25,12 +26,19 @@ def pytest_runtest_call(item):
yield yield
@pytest.fixture(scope="function", autouse=True) @contextlib.contextmanager
def openpilot_function_fixture(request): def clean_env():
starting_env = dict(os.environ) starting_env = dict(os.environ)
yield
os.environ.clear()
os.environ.update(starting_env)
@pytest.fixture(scope="function", autouse=True)
def openpilot_function_fixture(request):
random.seed(0) random.seed(0)
with clean_env():
# setup a clean environment for each test # setup a clean environment for each test
with OpenpilotPrefix(shared_download_cache=request.node.get_closest_marker("shared_download_cache") is not None) as prefix: with OpenpilotPrefix(shared_download_cache=request.node.get_closest_marker("shared_download_cache") is not None) as prefix:
prefix = os.environ["OPENPILOT_PREFIX"] prefix = os.environ["OPENPILOT_PREFIX"]
@ -40,9 +48,6 @@ def openpilot_function_fixture(request):
# ensure the test doesn't change the prefix # ensure the test doesn't change the prefix
assert "OPENPILOT_PREFIX" in os.environ and prefix == os.environ["OPENPILOT_PREFIX"] assert "OPENPILOT_PREFIX" in os.environ and prefix == os.environ["OPENPILOT_PREFIX"]
os.environ.clear()
os.environ.update(starting_env)
# cleanup any started processes # cleanup any started processes
manager.manager_cleanup() manager.manager_cleanup()
@ -55,13 +60,9 @@ def openpilot_function_fixture(request):
# so we need to hook both the function and class pytest fixtures # so we need to hook both the function and class pytest fixtures
@pytest.fixture(scope="class", autouse=True) @pytest.fixture(scope="class", autouse=True)
def openpilot_class_fixture(): def openpilot_class_fixture():
starting_env = dict(os.environ) with clean_env():
yield yield
os.environ.clear()
os.environ.update(starting_env)
@pytest.fixture(scope="function") @pytest.fixture(scope="function")
def tici_setup_fixture(openpilot_function_fixture): def tici_setup_fixture(openpilot_function_fixture):

Loading…
Cancel
Save