aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHemmo Nieminen <hemmo.nieminen@iki.fi>2017-08-21 22:42:07 +0300
committerHemmo Nieminen <hemmo.nieminen@iki.fi>2017-09-01 01:07:20 +0300
commitfa572956239409ba72ce163aee3a99dff13990e2 (patch)
tree8df2a337f6b071f145db61df94357ef1d2a2e937
parent7fb1973caca249e284ba6bec7e7a7b2439f9721f (diff)
downloadmeson-fa572956239409ba72ce163aee3a99dff13990e2.zip
meson-fa572956239409ba72ce163aee3a99dff13990e2.tar.gz
meson-fa572956239409ba72ce163aee3a99dff13990e2.tar.bz2
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'
-rw-r--r--mesonbuild/interpreter.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 313f430..0157c2e 100644
--- a/mesonbuild/interpreter.py
+++ b/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):