diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-01-02 18:31:58 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-01-02 23:52:50 +0200 |
commit | b3d51abff20b36e8d0604eaf9e482c509e54f311 (patch) | |
tree | d68930595821188bb57cc67775205d39d63606ef /mesonbuild/interpreter.py | |
parent | 74f15263b6a9d7fe1f717235a7177e7e4a681d3d (diff) | |
download | meson-b3d51abff20b36e8d0604eaf9e482c509e54f311.zip meson-b3d51abff20b36e8d0604eaf9e482c509e54f311.tar.gz meson-b3d51abff20b36e8d0604eaf9e482c509e54f311.tar.bz2 |
Can put external programs to test suite exe wrappers directly.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index fb1ff20..eda6f07 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2150,7 +2150,21 @@ requirements use the version keyword argument instead.''') if re.fullmatch('[_a-zA-Z][_0-9a-zA-Z]*', setup_name) is None: raise InterpreterException('Setup name may only contain alphanumeric characters.') try: - exe_wrapper = mesonlib.stringlistify(kwargs['exe_wrapper']) + inp = kwargs.get('exe_wrapper', []) + if not isinstance(inp, list): + inp = [inp] + exe_wrapper = [] + for i in inp: + if hasattr(i, 'held_object'): + i = i.held_object + if isinstance(i, str): + exe_wrapper.append(i) + elif isinstance(i, dependencies.ExternalProgram): + if not i.found(): + raise InterpreterException('Tried to use non-found external executable.') + exe_wrapper += i.get_command() + else: + raise InterpreterException('Exe wrapper can only contain strings or external binaries.') except KeyError: exe_wrapper = None gdb = kwargs.get('gdb', False) |