Parcourir la source

test_build_system: fix incomplete env returned by get_idf_build_env

Previously get_idf_build_env didn't include the default environment
(os.environ) in its output, so the environment only contained the
variables returned by "idf_tools.py export".
If PATH already contains all the right paths, "idf_tools.py export"
doesn't return the PATH variable.
Therefore the environment returned by get_idf_build_env was usually
incomplete. Fix by combining the output of "idf_tools.py export" with
os.environ.
Ivan Grokhotkov il y a 3 ans
Parent
commit
03c542ecf7

+ 5 - 2
tools/test_build_system/test_build_system_helpers/idf_utils.py

@@ -43,8 +43,11 @@ def get_idf_build_env(idf_path: str) -> EnvDict:
         '--format=key-value'
     ]
     keys_values = subprocess.check_output(cmd, stderr=subprocess.PIPE).decode()
-    env_vars = {key: os.path.expandvars(value) for key, value in
-                [line.split('=') for line in keys_values.splitlines()]}
+    idf_tool_py_env = {key: os.path.expandvars(value) for key, value in
+                       [line.split('=') for line in keys_values.splitlines()]}
+    env_vars = {}  # type: EnvDict
+    env_vars.update(os.environ)
+    env_vars.update(idf_tool_py_env)
     # not set by idf_tools.py, normally set by export.sh
     env_vars['IDF_PATH'] = idf_path