From 4677f37366b2b57053e065d9bb188191dddfa5e9 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Thu, 26 Jan 2017 18:37:34 +0530 Subject: tests: Move build-by-default unit test to common tests Also add a test() that can be run on all platforms. Currently unit tests are only run on Linux, so this was only testing the Ninja backend. This change reveals that build-by-default was broken with the Visual Studio backend. --- run_unittests.py | 2 +- test cases/common/137 build by default/foo.c | 6 ++++++ test cases/common/137 build by default/meson.build | 24 ++++++++++++++++++++++ test cases/common/137 build by default/mygen.py | 8 ++++++++ test cases/common/137 build by default/source.txt | 1 + test cases/unit/5 build by default/foo.c | 6 ------ test cases/unit/5 build by default/meson.build | 13 ------------ test cases/unit/5 build by default/mygen.py | 8 -------- test cases/unit/5 build by default/source.txt | 1 - 9 files changed, 40 insertions(+), 29 deletions(-) create mode 100644 test cases/common/137 build by default/foo.c create mode 100644 test cases/common/137 build by default/meson.build create mode 100644 test cases/common/137 build by default/mygen.py create mode 100644 test cases/common/137 build by default/source.txt delete mode 100644 test cases/unit/5 build by default/foo.c delete mode 100644 test cases/unit/5 build by default/meson.build delete mode 100644 test cases/unit/5 build by default/mygen.py delete mode 100644 test cases/unit/5 build by default/source.txt diff --git a/run_unittests.py b/run_unittests.py index 5eba222..809dd5c 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -566,7 +566,7 @@ class LinuxlikeTests(unittest.TestCase): self._test_stds_impl(testdir, cpp, 'cpp') def test_build_by_default(self): - testdir = os.path.join(self.unit_test_dir, '5 build by default') + testdir = os.path.join(self.common_test_dir, '137 build by default') self.init(testdir) self.build() genfile = os.path.join(self.builddir, 'generated.dat') diff --git a/test cases/common/137 build by default/foo.c b/test cases/common/137 build by default/foo.c new file mode 100644 index 0000000..ca97916 --- /dev/null +++ b/test cases/common/137 build by default/foo.c @@ -0,0 +1,6 @@ +#include + +int main(int argc, char **argv) { + printf("Existentialism.\n"); + return 0; +} diff --git a/test cases/common/137 build by default/meson.build b/test cases/common/137 build by default/meson.build new file mode 100644 index 0000000..6569548 --- /dev/null +++ b/test cases/common/137 build by default/meson.build @@ -0,0 +1,24 @@ +project('build on all', 'c') + +py3_mod = import('python3') +py3 = py3_mod.find_python() + +executable('fooprog', 'foo.c', build_by_default : false) +comp = files('mygen.py') +mytarget = custom_target('gendat', + output : 'generated.dat', + input : 'source.txt', + command : [py3] + comp + ['@INPUT@', '@OUTPUT@'], + build_by_default : true, +) + +ct_output = join_paths(meson.build_root(), 'generated.dat') +exe_output = join_paths(meson.build_root(), 'fooprog') +if host_machine.system() == 'windows' + exe_output += '.exe' +endif + +ct_exists_exe_nexists = 'import os.path, sys; sys.exit(not os.path.exists(sys.argv[1]) and os.path.exists(sys.argv[2]))' + +test('check-build-by-default', py3, + args : ['-c', ct_exists_exe_nexists, ct_output, exe_output]) diff --git a/test cases/common/137 build by default/mygen.py b/test cases/common/137 build by default/mygen.py new file mode 100644 index 0000000..5a74153 --- /dev/null +++ b/test cases/common/137 build by default/mygen.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 + +import sys + +ifile = open(sys.argv[1]) +ofile = open(sys.argv[2], 'w') + +ofile.write(ifile.read()) diff --git a/test cases/common/137 build by default/source.txt b/test cases/common/137 build by default/source.txt new file mode 100644 index 0000000..3573f4b --- /dev/null +++ b/test cases/common/137 build by default/source.txt @@ -0,0 +1 @@ +I am a bunch of text. diff --git a/test cases/unit/5 build by default/foo.c b/test cases/unit/5 build by default/foo.c deleted file mode 100644 index ca97916..0000000 --- a/test cases/unit/5 build by default/foo.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main(int argc, char **argv) { - printf("Existentialism.\n"); - return 0; -} diff --git a/test cases/unit/5 build by default/meson.build b/test cases/unit/5 build by default/meson.build deleted file mode 100644 index 67c5cc2..0000000 --- a/test cases/unit/5 build by default/meson.build +++ /dev/null @@ -1,13 +0,0 @@ -project('build on all', 'c') - -py3_mod = import('python3') -py3 = py3_mod.find_python() - -executable('fooprog', 'foo.c', build_by_default : false) -comp = files('mygen.py') -mytarget = custom_target('gendat', - output : 'generated.dat', - input : 'source.txt', - command : [py3] + comp + ['@INPUT@', '@OUTPUT@'], - build_by_default : true, -) diff --git a/test cases/unit/5 build by default/mygen.py b/test cases/unit/5 build by default/mygen.py deleted file mode 100644 index 5a74153..0000000 --- a/test cases/unit/5 build by default/mygen.py +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env python3 - -import sys - -ifile = open(sys.argv[1]) -ofile = open(sys.argv[2], 'w') - -ofile.write(ifile.read()) diff --git a/test cases/unit/5 build by default/source.txt b/test cases/unit/5 build by default/source.txt deleted file mode 100644 index 3573f4b..0000000 --- a/test cases/unit/5 build by default/source.txt +++ /dev/null @@ -1 +0,0 @@ -I am a bunch of text. -- cgit v1.1