Get env_var mods from config (#49626)
This commit is contained in:
parent
070bfa1ed7
commit
f2d830cd4c
@ -8,6 +8,7 @@
|
||||
import llnl.util.tty as tty
|
||||
from llnl.util.tty.color import colorize
|
||||
|
||||
import spack.config
|
||||
import spack.environment as ev
|
||||
import spack.repo
|
||||
import spack.schema.environment
|
||||
@ -158,7 +159,8 @@ def activate(
|
||||
# become PATH variables.
|
||||
#
|
||||
|
||||
env_vars_yaml = env.manifest.configuration.get("env_vars", None)
|
||||
with env.manifest.use_config():
|
||||
env_vars_yaml = spack.config.get("env_vars", None)
|
||||
if env_vars_yaml:
|
||||
env_mods.extend(spack.schema.environment.parse(env_vars_yaml))
|
||||
|
||||
@ -195,7 +197,8 @@ def deactivate() -> EnvironmentModifications:
|
||||
if active is None:
|
||||
return env_mods
|
||||
|
||||
env_vars_yaml = active.manifest.configuration.get("env_vars", None)
|
||||
with active.manifest.use_config():
|
||||
env_vars_yaml = spack.config.get("env_vars", None)
|
||||
if env_vars_yaml:
|
||||
env_mods.extend(spack.schema.environment.parse(env_vars_yaml).reversed())
|
||||
|
||||
|
@ -3065,14 +3065,26 @@ def test_stack_view_activate_from_default(
|
||||
|
||||
def test_envvar_set_in_activate(tmp_path, mock_packages, install_mockery):
|
||||
spack_yaml = tmp_path / "spack.yaml"
|
||||
env_vars_yaml = tmp_path / "env_vars.yaml"
|
||||
|
||||
env_vars_yaml.write_text(
|
||||
"""
|
||||
env_vars:
|
||||
set:
|
||||
CONFIG_ENVAR_SET_IN_ENV_LOAD: "True"
|
||||
"""
|
||||
)
|
||||
|
||||
spack_yaml.write_text(
|
||||
"""
|
||||
spack:
|
||||
include:
|
||||
- env_vars.yaml
|
||||
specs:
|
||||
- cmake%gcc
|
||||
env_vars:
|
||||
set:
|
||||
ENVAR_SET_IN_ENV_LOAD: "True"
|
||||
SPACK_ENVAR_SET_IN_ENV_LOAD: "True"
|
||||
"""
|
||||
)
|
||||
|
||||
@ -3083,12 +3095,16 @@ def test_envvar_set_in_activate(tmp_path, mock_packages, install_mockery):
|
||||
test_env = ev.read("test")
|
||||
output = env("activate", "--sh", "test")
|
||||
|
||||
assert "ENVAR_SET_IN_ENV_LOAD=True" in output
|
||||
assert "SPACK_ENVAR_SET_IN_ENV_LOAD=True" in output
|
||||
assert "CONFIG_ENVAR_SET_IN_ENV_LOAD=True" in output
|
||||
|
||||
with test_env:
|
||||
with spack.util.environment.set_env(ENVAR_SET_IN_ENV_LOAD="True"):
|
||||
with spack.util.environment.set_env(
|
||||
SPACK_ENVAR_SET_IN_ENV_LOAD="True", CONFIG_ENVAR_SET_IN_ENV_LOAD="True"
|
||||
):
|
||||
output = env("deactivate", "--sh")
|
||||
assert "unset ENVAR_SET_IN_ENV_LOAD" in output
|
||||
assert "unset SPACK_ENVAR_SET_IN_ENV_LOAD" in output
|
||||
assert "unset CONFIG_ENVAR_SET_IN_ENV_LOAD" in output
|
||||
|
||||
|
||||
def test_stack_view_no_activate_without_default(
|
||||
|
Loading…
Reference in New Issue
Block a user