Polish spack.util.environment
(#35812)
Update `spack.util.environment` to remove legacy idioms. * Remove kwargs from method signature and use a class for traces * Uppercase a few global variables * spack.util.environment: add type-hints * Improve docstrings * Fixed most style issues reported by pylint
This commit is contained in:
parent
b17113b63d
commit
046416479a
@ -69,13 +69,13 @@
|
|||||||
from spack.installer import InstallError
|
from spack.installer import InstallError
|
||||||
from spack.util.cpus import cpus_available
|
from spack.util.cpus import cpus_available
|
||||||
from spack.util.environment import (
|
from spack.util.environment import (
|
||||||
|
SYSTEM_DIRS,
|
||||||
EnvironmentModifications,
|
EnvironmentModifications,
|
||||||
env_flag,
|
env_flag,
|
||||||
filter_system_paths,
|
filter_system_paths,
|
||||||
get_path,
|
get_path,
|
||||||
inspect_path,
|
inspect_path,
|
||||||
is_system_path,
|
is_system_path,
|
||||||
system_dirs,
|
|
||||||
validate,
|
validate,
|
||||||
)
|
)
|
||||||
from spack.util.executable import Executable
|
from spack.util.executable import Executable
|
||||||
@ -397,7 +397,7 @@ def set_compiler_environment_variables(pkg, env):
|
|||||||
|
|
||||||
env.set("SPACK_COMPILER_SPEC", str(spec.compiler))
|
env.set("SPACK_COMPILER_SPEC", str(spec.compiler))
|
||||||
|
|
||||||
env.set("SPACK_SYSTEM_DIRS", ":".join(system_dirs))
|
env.set("SPACK_SYSTEM_DIRS", ":".join(SYSTEM_DIRS))
|
||||||
|
|
||||||
compiler.setup_custom_environment(pkg, env)
|
compiler.setup_custom_environment(pkg, env)
|
||||||
|
|
||||||
|
@ -575,7 +575,7 @@ def setup_main_options(args):
|
|||||||
if args.debug:
|
if args.debug:
|
||||||
spack.util.debug.register_interrupt_handler()
|
spack.util.debug.register_interrupt_handler()
|
||||||
spack.config.set("config:debug", True, scope="command_line")
|
spack.config.set("config:debug", True, scope="command_line")
|
||||||
spack.util.environment.tracing_enabled = True
|
spack.util.environment.TRACING_ENABLED = True
|
||||||
|
|
||||||
if args.timestamp:
|
if args.timestamp:
|
||||||
tty.set_timestamp(True)
|
tty.set_timestamp(True)
|
||||||
|
@ -71,7 +71,7 @@ def guess_core_compilers(name, store=False):
|
|||||||
# A compiler is considered to be a core compiler if any of the
|
# A compiler is considered to be a core compiler if any of the
|
||||||
# C, C++ or Fortran compilers reside in a system directory
|
# C, C++ or Fortran compilers reside in a system directory
|
||||||
is_system_compiler = any(
|
is_system_compiler = any(
|
||||||
os.path.dirname(x) in spack.util.environment.system_dirs
|
os.path.dirname(x) in spack.util.environment.SYSTEM_DIRS
|
||||||
for x in compiler["paths"].values()
|
for x in compiler["paths"].values()
|
||||||
if x is not None
|
if x is not None
|
||||||
)
|
)
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
import spack.config
|
import spack.config
|
||||||
import spack.spec
|
import spack.spec
|
||||||
from spack.paths import build_env_path
|
from spack.paths import build_env_path
|
||||||
from spack.util.environment import set_env, system_dirs
|
from spack.util.environment import SYSTEM_DIRS, set_env
|
||||||
from spack.util.executable import Executable, ProcessError
|
from spack.util.executable import Executable, ProcessError
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -160,7 +160,7 @@ def wrapper_environment(working_env):
|
|||||||
SPACK_DEBUG_LOG_ID="foo-hashabc",
|
SPACK_DEBUG_LOG_ID="foo-hashabc",
|
||||||
SPACK_COMPILER_SPEC="gcc@4.4.7",
|
SPACK_COMPILER_SPEC="gcc@4.4.7",
|
||||||
SPACK_SHORT_SPEC="foo@1.2 arch=linux-rhel6-x86_64 /hashabc",
|
SPACK_SHORT_SPEC="foo@1.2 arch=linux-rhel6-x86_64 /hashabc",
|
||||||
SPACK_SYSTEM_DIRS=":".join(system_dirs),
|
SPACK_SYSTEM_DIRS=":".join(SYSTEM_DIRS),
|
||||||
SPACK_CC_RPATH_ARG="-Wl,-rpath,",
|
SPACK_CC_RPATH_ARG="-Wl,-rpath,",
|
||||||
SPACK_CXX_RPATH_ARG="-Wl,-rpath,",
|
SPACK_CXX_RPATH_ARG="-Wl,-rpath,",
|
||||||
SPACK_F77_RPATH_ARG="-Wl,-rpath,",
|
SPACK_F77_RPATH_ARG="-Wl,-rpath,",
|
||||||
|
@ -230,16 +230,6 @@ def test_path_manipulation(env):
|
|||||||
assert os.environ["PATH_LIST_WITH_DUPLICATES"].count("/duplicate") == 1
|
assert os.environ["PATH_LIST_WITH_DUPLICATES"].count("/duplicate") == 1
|
||||||
|
|
||||||
|
|
||||||
def test_extra_arguments(env):
|
|
||||||
"""Tests that we can attach extra arguments to any command."""
|
|
||||||
env.set("A", "dummy value", who="Pkg1")
|
|
||||||
for x in env:
|
|
||||||
assert "who" in x.args
|
|
||||||
|
|
||||||
env.apply_modifications()
|
|
||||||
assert "dummy value" == os.environ["A"]
|
|
||||||
|
|
||||||
|
|
||||||
def test_extend(env):
|
def test_extend(env):
|
||||||
"""Tests that we can construct a list of environment modifications
|
"""Tests that we can construct a list of environment modifications
|
||||||
starting from another list.
|
starting from another list.
|
||||||
|
@ -237,7 +237,7 @@ def test_guess_core_compilers(self, factory, module_configuration, monkeypatch):
|
|||||||
module_configuration("missing_core_compilers")
|
module_configuration("missing_core_compilers")
|
||||||
|
|
||||||
# Our mock paths must be detected as system paths
|
# Our mock paths must be detected as system paths
|
||||||
monkeypatch.setattr(spack.util.environment, "system_dirs", ["/path/to"])
|
monkeypatch.setattr(spack.util.environment, "SYSTEM_DIRS", ["/path/to"])
|
||||||
|
|
||||||
# We don't want to really write into user configuration
|
# We don't want to really write into user configuration
|
||||||
# when running tests
|
# when running tests
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user