From 64407e253c616ab87e17257ab0664fe2990b957b Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Wed, 1 Sep 2021 14:23:26 +0200 Subject: [PATCH] Always disable leftover active environment after tests --- lib/spack/spack/test/conftest.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/spack/spack/test/conftest.py b/lib/spack/spack/test/conftest.py index 3f7a9f3a477..9d9ab44516e 100644 --- a/lib/spack/spack/test/conftest.py +++ b/lib/spack/spack/test/conftest.py @@ -92,24 +92,24 @@ def no_path_access(monkeypatch): # -# Disable any activate Spack environment BEFORE all tests +# Disable any active Spack environment BEFORE all tests # @pytest.fixture(scope='session', autouse=True) def clean_user_environment(): - env_var = ev.spack_env_var in os.environ - active = ev._active_environment - - if env_var: - spack_env_value = os.environ.pop(ev.spack_env_var) - if active: - ev.deactivate() - - yield - - if env_var: + spack_env_value = os.environ.pop(ev.spack_env_var, None) + with ev.deactivate_environment(): + yield + if spack_env_value: os.environ[ev.spack_env_var] = spack_env_value - if active: - ev.activate(active) + + +# +# Make sure global state of active env does not leak between tests. +# +@pytest.fixture(scope='function', autouse=True) +def clean_test_environment(): + yield + ev.deactivate() def _verify_executables_noop(*args):