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.
pull/1335/head
Nirbheek Chauhan 8 years ago
parent 01547e8c61
commit 4677f37366
  1. 2
      run_unittests.py
  2. 0
      test cases/common/137 build by default/foo.c
  3. 24
      test cases/common/137 build by default/meson.build
  4. 0
      test cases/common/137 build by default/mygen.py
  5. 0
      test cases/common/137 build by default/source.txt
  6. 13
      test cases/unit/5 build by default/meson.build

@ -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')

@ -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])

@ -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,
)
Loading…
Cancel
Save