diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2017-01-25 22:42:15 +0000 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-01-28 01:05:18 +0530 |
commit | b98599ad96cc7424872ae6a1dc8f9af8e6dd4a4e (patch) | |
tree | 687e96b07e91698de939db96476c086500f7b3e0 | |
parent | 0e078adf5a7d47d5ad168f75e39d4a044032b197 (diff) | |
download | meson-b98599ad96cc7424872ae6a1dc8f9af8e6dd4a4e.zip meson-b98599ad96cc7424872ae6a1dc8f9af8e6dd4a4e.tar.gz meson-b98599ad96cc7424872ae6a1dc8f9af8e6dd4a4e.tar.bz2 |
tests: build_by_default : false targets used in tests should be built
The next commit fixes this.
3 files changed, 32 insertions, 0 deletions
diff --git a/test cases/common/136 build by default targets in tests/main.c b/test cases/common/136 build by default targets in tests/main.c new file mode 100644 index 0000000..63a62a1 --- /dev/null +++ b/test cases/common/136 build by default targets in tests/main.c @@ -0,0 +1,3 @@ +int main (int argc, char *argv[]) { + return 0; +} diff --git a/test cases/common/136 build by default targets in tests/meson.build b/test cases/common/136 build by default targets in tests/meson.build new file mode 100644 index 0000000..5cc5055 --- /dev/null +++ b/test cases/common/136 build by default targets in tests/meson.build @@ -0,0 +1,23 @@ +project('unit-test', 'c', version : '1.0') + +write_file = find_program('write_file.py') + +# A test that consumes and verifies the output generated by a custom target. +# Should work even if target is not built by default. Makes sure that foo.out +# is actually created before the test command that uses foo_out is run. +foo_out = custom_target('foo.out', + output : 'foo.out', + command : [write_file, '@OUTPUT@']) + +# Also verify that a build_by_default : false BuildTarget added to a test is +# built before the test is run. +exe_out = executable('out', 'main.c', build_by_default : false) + +py_file_exists = '''import os, sys +if not os.path.exists(sys.argv[1]) or not os.path.exists(sys.argv[2]): + print("could not find {!r} or {!r} in {!r}" + "".format(sys.argv[1], sys.argv[2], os.getcwd())) + sys.exit(1)''' + +python = import('python3').find_python() +test('output-check', python, args : ['-c', py_file_exists, foo_out, exe_out]) diff --git a/test cases/common/136 build by default targets in tests/write_file.py b/test cases/common/136 build by default targets in tests/write_file.py new file mode 100644 index 0000000..ff9c224 --- /dev/null +++ b/test cases/common/136 build by default targets in tests/write_file.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 + +import sys + +with open(sys.argv[1], 'w') as f: + f.write('Test') |