Index: build/toolchain/win/setup_toolchain.py |
diff --git a/build/toolchain/win/setup_toolchain.py b/build/toolchain/win/setup_toolchain.py |
index f395044adaec947dda459528566d231ef12a4fa0..963f00230b07204aaed4ff3fc7ee16db6d44b63d 100644 |
--- a/build/toolchain/win/setup_toolchain.py |
+++ b/build/toolchain/win/setup_toolchain.py |
@@ -32,6 +32,10 @@ def _ExtractImportantEnvironment(output_of_set): |
'tmp', |
) |
env = {} |
+ # This occasionally happens and leads to misleading SYSTEMROOT error messages |
+ # if not caught here. |
+ if output_of_set.count('=') == 0: |
+ raise Exception('Invalid output_of_set. Value is:\n%s' % output_of_set) |
for line in output_of_set.splitlines(): |
for envvar in envvars_to_save: |
if re.match(envvar + '=', line.lower()): |
@@ -123,6 +127,8 @@ def main(): |
popen = subprocess.Popen( |
args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) |
variables, _ = popen.communicate() |
+ if popen.returncode != 0: |
+ raise Exception('"%s" failed with error %d' % (args, popen.returncode)) |
env = _ExtractImportantEnvironment(variables) |
env['PATH'] = runtime_dirs + ';' + env['PATH'] |