import os
import pytest
from openpilot . common . prefix import OpenpilotPrefix
@pytest . fixture ( scope = " function " , autouse = True )
def openpilot_function_fixture ( ) :
starting_env = dict ( os . environ )
# setup a clean environment for each test
with OpenpilotPrefix ( ) :
prefix = os . environ [ " OPENPILOT_PREFIX " ]
yield
# ensure the test doesn't change the prefix
assert " OPENPILOT_PREFIX " in os . environ and prefix == os . environ [ " OPENPILOT_PREFIX " ]
os . environ . clear ( )
os . environ . update ( starting_env )
# If you use setUpClass, the environment variables won't be cleared properly,
# so we need to hook both the function and class pytest fixtures
@pytest . fixture ( scope = " class " , autouse = True )
def openpilot_class_fixture ( ) :
starting_env = dict ( os . environ )
yield
os . environ . clear ( )
os . environ . update ( starting_env )