diff options
Diffstat (limited to 'meson/test cases/common/48 file grabber')
13 files changed, 75 insertions, 0 deletions
diff --git a/meson/test cases/common/48 file grabber/a.c b/meson/test cases/common/48 file grabber/a.c new file mode 100644 index 000000000..8f63c2de5 --- /dev/null +++ b/meson/test cases/common/48 file grabber/a.c @@ -0,0 +1 @@ +int funca(void) { return 0; } diff --git a/meson/test cases/common/48 file grabber/b.c b/meson/test cases/common/48 file grabber/b.c new file mode 100644 index 000000000..f38baca8c --- /dev/null +++ b/meson/test cases/common/48 file grabber/b.c @@ -0,0 +1 @@ +int funcb(void) { return 0; } diff --git a/meson/test cases/common/48 file grabber/c.c b/meson/test cases/common/48 file grabber/c.c new file mode 100644 index 000000000..2e8abbfc9 --- /dev/null +++ b/meson/test cases/common/48 file grabber/c.c @@ -0,0 +1 @@ +int funcc(void) { return 0; } diff --git a/meson/test cases/common/48 file grabber/grabber.bat b/meson/test cases/common/48 file grabber/grabber.bat new file mode 100644 index 000000000..86603145c --- /dev/null +++ b/meson/test cases/common/48 file grabber/grabber.bat @@ -0,0 +1,5 @@ +@ECHO OFF +echo a.c +echo b.c +echo c.c +echo prog.c diff --git a/meson/test cases/common/48 file grabber/grabber.sh b/meson/test cases/common/48 file grabber/grabber.sh new file mode 100755 index 000000000..5e8f4b947 --- /dev/null +++ b/meson/test cases/common/48 file grabber/grabber.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +for i in *.c; do + echo $i +done diff --git a/meson/test cases/common/48 file grabber/grabber2.bat b/meson/test cases/common/48 file grabber/grabber2.bat new file mode 100644 index 000000000..d1a3f98ba --- /dev/null +++ b/meson/test cases/common/48 file grabber/grabber2.bat @@ -0,0 +1,5 @@ +@ECHO OFF +echo suba.c +echo subb.c +echo subc.c +echo subprog.c diff --git a/meson/test cases/common/48 file grabber/meson.build b/meson/test cases/common/48 file grabber/meson.build new file mode 100644 index 000000000..e332c0b1e --- /dev/null +++ b/meson/test cases/common/48 file grabber/meson.build @@ -0,0 +1,35 @@ +project('grabber', 'c') + +# What this script does is NOT reliable. Simply adding a file in this directory +# will NOT make it automatically appear in the build. You have to manually +# re-invoke Meson (not just Ninja) for that to happen. The simplest way +# is to touch meson-private/coredata.dat. + +# This is not the recommended way to do things, but if the tradeoffs are +# acceptable to you, then we're certainly not going to stop you. Just don't +# file bugs when it fails. :) + +if build_machine.system() == 'windows' + c = run_command('grabber.bat') + grabber = find_program('grabber2.bat') +else + c = run_command('grabber.sh') + grabber = find_program('grabber.sh') +endif + + +# First test running command explicitly. +if c.returncode() != 0 + error('Executing script failed.') +endif + +newline = ''' +''' + +sources = c.stdout().strip().split(newline) + +e = executable('prog', sources) +test('grabtest', e) + +# Then test using program with find_program +subdir('subdir') diff --git a/meson/test cases/common/48 file grabber/prog.c b/meson/test cases/common/48 file grabber/prog.c new file mode 100644 index 000000000..ff55723e1 --- /dev/null +++ b/meson/test cases/common/48 file grabber/prog.c @@ -0,0 +1,7 @@ +int funca(void); +int funcb(void); +int funcc(void); + +int main(void) { + return funca() + funcb() + funcc(); +} diff --git a/meson/test cases/common/48 file grabber/subdir/meson.build b/meson/test cases/common/48 file grabber/subdir/meson.build new file mode 100644 index 000000000..230d6f7de --- /dev/null +++ b/meson/test cases/common/48 file grabber/subdir/meson.build @@ -0,0 +1,5 @@ +sc = run_command(grabber) +subsources = sc.stdout().strip().split(newline) + +se = executable('subprog', subsources) +test('subgrabtest', se) diff --git a/meson/test cases/common/48 file grabber/subdir/suba.c b/meson/test cases/common/48 file grabber/subdir/suba.c new file mode 100644 index 000000000..8f63c2de5 --- /dev/null +++ b/meson/test cases/common/48 file grabber/subdir/suba.c @@ -0,0 +1 @@ +int funca(void) { return 0; } diff --git a/meson/test cases/common/48 file grabber/subdir/subb.c b/meson/test cases/common/48 file grabber/subdir/subb.c new file mode 100644 index 000000000..f38baca8c --- /dev/null +++ b/meson/test cases/common/48 file grabber/subdir/subb.c @@ -0,0 +1 @@ +int funcb(void) { return 0; } diff --git a/meson/test cases/common/48 file grabber/subdir/subc.c b/meson/test cases/common/48 file grabber/subdir/subc.c new file mode 100644 index 000000000..2e8abbfc9 --- /dev/null +++ b/meson/test cases/common/48 file grabber/subdir/subc.c @@ -0,0 +1 @@ +int funcc(void) { return 0; } diff --git a/meson/test cases/common/48 file grabber/subdir/subprog.c b/meson/test cases/common/48 file grabber/subdir/subprog.c new file mode 100644 index 000000000..ff55723e1 --- /dev/null +++ b/meson/test cases/common/48 file grabber/subdir/subprog.c @@ -0,0 +1,7 @@ +int funca(void); +int funcb(void); +int funcc(void); + +int main(void) { + return funca() + funcb() + funcc(); +} |