diff options
Diffstat (limited to 'meson/test cases/native/3 pipeline/depends')
5 files changed, 49 insertions, 0 deletions
diff --git a/meson/test cases/native/3 pipeline/depends/copyrunner.py b/meson/test cases/native/3 pipeline/depends/copyrunner.py new file mode 100755 index 000000000..0ef6a6d68 --- /dev/null +++ b/meson/test cases/native/3 pipeline/depends/copyrunner.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +import sys, subprocess + +prog, infile, outfile = sys.argv[1:] + +subprocess.check_call([prog, infile, outfile]) diff --git a/meson/test cases/native/3 pipeline/depends/filecopier.c b/meson/test cases/native/3 pipeline/depends/filecopier.c new file mode 100644 index 000000000..e10e4e773 --- /dev/null +++ b/meson/test cases/native/3 pipeline/depends/filecopier.c @@ -0,0 +1,23 @@ +#include<stdio.h> +#include<assert.h> + +#define BUFSIZE 1024 + +int main(int argc, char **argv) { + char buffer[BUFSIZE]; + size_t num_read; + size_t num_written; + FILE *fin = fopen(argv[1], "rb"); + FILE *fout; + assert(argc>0); + assert(fin); + num_read = fread(buffer, 1, BUFSIZE, fin); + assert(num_read > 0); + fclose(fin); + fout = fopen(argv[2], "wb"); + assert(fout); + num_written = fwrite(buffer, 1, num_read, fout); + assert(num_written == num_read); + fclose(fout); + return 0; +} diff --git a/meson/test cases/native/3 pipeline/depends/libsrc.c.in b/meson/test cases/native/3 pipeline/depends/libsrc.c.in new file mode 100644 index 000000000..81805512f --- /dev/null +++ b/meson/test cases/native/3 pipeline/depends/libsrc.c.in @@ -0,0 +1,3 @@ +int func(void) { + return 42; +} diff --git a/meson/test cases/native/3 pipeline/depends/meson.build b/meson/test cases/native/3 pipeline/depends/meson.build new file mode 100644 index 000000000..5111fee7a --- /dev/null +++ b/meson/test cases/native/3 pipeline/depends/meson.build @@ -0,0 +1,11 @@ +runner = find_program('copyrunner.py') + +copier = executable('copier', 'filecopier.c', native: true) + +cg = generator(runner, + output: ['@BASENAME@.c'], + arguments: [copier.full_path(), '@INPUT@', '@OUTPUT@'], + depends: copier) + +test('generatordep', + executable('gd', 'prog.c', cg.process('libsrc.c.in'))) diff --git a/meson/test cases/native/3 pipeline/depends/prog.c b/meson/test cases/native/3 pipeline/depends/prog.c new file mode 100644 index 000000000..54c40e162 --- /dev/null +++ b/meson/test cases/native/3 pipeline/depends/prog.c @@ -0,0 +1,5 @@ +int func(void); + +int main(void) { + return func() != 42; +} |