diff --git a/test cases/common/81 file object/lib.c b/test cases/common/81 file object/lib.c new file mode 100644 index 000000000..6f1c172d6 --- /dev/null +++ b/test cases/common/81 file object/lib.c @@ -0,0 +1,3 @@ +int func() { + return 0; +} diff --git a/test cases/common/81 file object/meson.build b/test cases/common/81 file object/meson.build index f993a162e..152901cb7 100644 --- a/test cases/common/81 file object/meson.build +++ b/test cases/common/81 file object/meson.build @@ -1,4 +1,9 @@ project('file object', 'c') -fileobj = file('prog.c') -test('fobj', executable('fobj', fileobj)) +prog0 = file('prog.c') +lib0 = file('lib.c') +test('fobj', executable('fobj', prog0, lib0)) + +subdir('subdir1') +subdir('subdir2') + diff --git a/test cases/common/81 file object/prog.c b/test cases/common/81 file object/prog.c index 27ade3a5f..884d678c5 100644 --- a/test cases/common/81 file object/prog.c +++ b/test cases/common/81 file object/prog.c @@ -1,6 +1,13 @@ #include +int func(); /* Files in different subdirs return different values. */ + int main(int argc, char **argv) { - printf("Iz success.\n"); + if(func() == 0) { + printf("Iz success.\n"); + } else { + printf("Iz fail.\n"); + return 1; + } return 0; } diff --git a/test cases/common/81 file object/subdir1/lib.c b/test cases/common/81 file object/subdir1/lib.c new file mode 100644 index 000000000..bc1e7b0a1 --- /dev/null +++ b/test cases/common/81 file object/subdir1/lib.c @@ -0,0 +1,3 @@ +int func() { + return 1; +} diff --git a/test cases/common/81 file object/subdir1/meson.build b/test cases/common/81 file object/subdir1/meson.build new file mode 100644 index 000000000..e41a82426 --- /dev/null +++ b/test cases/common/81 file object/subdir1/meson.build @@ -0,0 +1,7 @@ +prog1 = file('prog.c') +lib1 = file('lib.c') + +test('subdir0', executable('subdir0', prog0, lib1), should_fail : true) +test('subdir1', executable('subdir1', prog1, lib0), should_fail : true) + +test('subdir2', executable('subdir2', prog1, lib1)) \ No newline at end of file diff --git a/test cases/common/81 file object/subdir1/prog.c b/test cases/common/81 file object/subdir1/prog.c new file mode 100644 index 000000000..37ccf7294 --- /dev/null +++ b/test cases/common/81 file object/subdir1/prog.c @@ -0,0 +1,13 @@ +#include + +int func(); + +int main(int argc, char **argv) { + if(func() == 1) { + printf("Iz success.\n"); + } else { + printf("Iz fail.\n"); + return 1; + } + return 0; +} diff --git a/test cases/common/81 file object/subdir2/lib.c b/test cases/common/81 file object/subdir2/lib.c new file mode 100644 index 000000000..cfef4d074 --- /dev/null +++ b/test cases/common/81 file object/subdir2/lib.c @@ -0,0 +1,3 @@ +int func() { + return 2; +} diff --git a/test cases/common/81 file object/subdir2/meson.build b/test cases/common/81 file object/subdir2/meson.build new file mode 100644 index 000000000..06f0e4911 --- /dev/null +++ b/test cases/common/81 file object/subdir2/meson.build @@ -0,0 +1,7 @@ +prog2 = file('prog.c') +lib2 = file('lib.c') + +test('subdir3', executable('subdir3', prog1, lib2), should_fail : true) +test('subdir4', executable('subdir4', prog2, lib1), should_fail : true) + +test('subdir4', executable('subdir5', prog2, lib2)) \ No newline at end of file diff --git a/test cases/common/81 file object/subdir2/prog.c b/test cases/common/81 file object/subdir2/prog.c new file mode 100644 index 000000000..3a90b0a93 --- /dev/null +++ b/test cases/common/81 file object/subdir2/prog.c @@ -0,0 +1,13 @@ +#include + +int func(); + +int main(int argc, char **argv) { + if(func() == 2) { + printf("Iz success.\n"); + } else { + printf("Iz fail.\n"); + return 1; + } + return 0; +}