Fix a stack trace caused by environment variables in test setups.

An example trace:

[snip]
>   File "/usr/lib/python3.6/concurrent/futures/thread.py", line 55, in run
>     result = self.fn(*self.args, **self.kwargs)
>   File "/home/trhd/Projects/meson/mesonbuild/mtest.py", line 221, in run_single_test
>     child_env.update(self.options.global_env.get_env(child_env))
> AttributeError: 'dict' object has no attribute 'get_env'
pull/2236/head
Hemmo Nieminen 7 years ago
parent 7fb1973cac
commit fa57295623
  1. 5
      mesonbuild/interpreter.py

@ -2290,7 +2290,7 @@ class Interpreter(InterpreterBase):
else:
if not isinstance(envlist, list):
envlist = [envlist]
env = {}
env = EnvironmentVariablesHolder()
for e in envlist:
if '=' not in e:
raise InterpreterException('Env var definition must be of type key=val.')
@ -2299,7 +2299,8 @@ class Interpreter(InterpreterBase):
val = val.strip()
if ' ' in k:
raise InterpreterException('Env var key must not have spaces in it.')
env[k] = val
env.add_var(env.held_object.set, [k, val], kwargs)
env = env.held_object
return env
def add_test(self, node, args, kwargs, is_base_test):

Loading…
Cancel
Save