And actually test that prog.path() works. The earlier test was just running the command without checking if it succeeded. Also make everything use prog.get_command() or get_path() instead of accessing the internal member prog.fullpath directly.pull/1356/head
parent
280346da3a
commit
7e805a019a
9 changed files with 65 additions and 51 deletions
@ -1,18 +1,25 @@ |
||||
project('find program', 'c') |
||||
|
||||
prog = find_program('program.py') |
||||
|
||||
python = find_program('python3', required : false) |
||||
if not python.found() |
||||
python = find_program('python') |
||||
endif |
||||
|
||||
run_command(python, prog.path()) |
||||
|
||||
# Source file via string |
||||
prog = find_program('program.py') |
||||
# Source file via files() |
||||
progf = files('program.py') |
||||
# Built file |
||||
py = configure_file(input : 'program.py', |
||||
output : 'builtprogram.py', |
||||
configuration : configuration_data()) |
||||
|
||||
find_program(py) |
||||
find_program(progf) |
||||
foreach f : [prog, find_program(py), find_program(progf)] |
||||
ret = run_command(python, f.path()) |
||||
assert(ret.returncode() == 0, 'can\'t manually run @0@'.format(prog.path())) |
||||
assert(ret.stdout().strip() == 'Found', 'wrong output from manually-run @0@'.format(prog.path())) |
||||
|
||||
ret = run_command(f) |
||||
assert(ret.returncode() == 0, 'can\'t run @0@'.format(prog.path())) |
||||
assert(ret.stdout().strip() == 'Found', 'wrong output from @0@'.format(prog.path())) |
||||
endforeach |
||||
|
Loading…
Reference in new issue