diff options
author | Patrick Griffis <tingping@tingping.se> | 2017-07-31 12:43:20 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-07-31 18:48:30 -0400 |
commit | ece4ce887242b572d7d27bc72497d007b2b75fdc (patch) | |
tree | 7d4638360648b483a79c2278dc8f1fa8bbc733d1 /mesonbuild/interpreter.py | |
parent | a572ebd2a19ff9501e3c03b0cec71f5a5aef5ceb (diff) | |
download | meson-ece4ce887242b572d7d27bc72497d007b2b75fdc.zip meson-ece4ce887242b572d7d27bc72497d007b2b75fdc.tar.gz meson-ece4ce887242b572d7d27bc72497d007b2b75fdc.tar.bz2 |
Fix test() accepting configure files for exe
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 94fb649..f88c265 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2297,8 +2297,12 @@ class Interpreter(InterpreterBase): raise InterpreterException('Incorrect number of arguments') if not isinstance(args[0], str): raise InterpreterException('First argument of test must be a string.') - if not isinstance(args[1], (ExecutableHolder, JarHolder, ExternalProgramHolder)): - raise InterpreterException('Second argument must be executable.') + exe = args[1] + if not isinstance(exe, (ExecutableHolder, JarHolder, ExternalProgramHolder)): + if isinstance(exe, mesonlib.File): + exe = self.func_find_program(node, (args[1], ), {}) + else: + raise InterpreterException('Second argument must be executable.') par = kwargs.get('is_parallel', True) if not isinstance(par, bool): raise InterpreterException('Keyword argument is_parallel must be a boolean.') @@ -2332,7 +2336,7 @@ class Interpreter(InterpreterBase): suite.append(self.subproject.replace(' ', '_').replace(':', '_') + s) else: suite.append(self.build.project_name.replace(' ', '_').replace(':', '_') + s) - t = Test(args[0], suite, args[1].held_object, par, cmd_args, env, should_fail, timeout, workdir) + t = Test(args[0], suite, exe.held_object, par, cmd_args, env, should_fail, timeout, workdir) if is_base_test: self.build.tests.append(t) mlog.debug('Adding test "', mlog.bold(args[0]), '".', sep='') |