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:
		 Massimiliano Culpo
					Massimiliano Culpo
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						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
											
										
									
								
							
		Reference in New Issue
	
	Block a user