add test case for mixed language link tests

pull/9014/head
Paolo Bonzini 3 years ago
parent 8596b3bcd1
commit bb70277e96
  1. 11
      test cases/unit/97 compiler.links file arg/meson.build
  2. 1
      test cases/unit/97 compiler.links file arg/test.c
  3. 14
      unittests/allplatformstests.py

@ -0,0 +1,11 @@
project('test', ['c', 'cpp'])
cc = meson.get_compiler('c')
cxx = meson.get_compiler('cpp')
# used by run_unittests.py to grab the path to the C and C++ compilers
assert(cc.compiles(files('test.c')))
assert(cxx.compiles(files('test.c')))
assert(cc.links(files('test.c')))
assert(cxx.links(files('test.c')))

@ -1924,6 +1924,20 @@ class AllPlatformTests(BasePlatformTests):
'recommended as it is not supported on some platforms')
self.assertIn(msg, out)
def test_mixed_language_linker_check(self):
testdir = os.path.join(self.unit_test_dir, '97 compiler.links file arg')
self.init(testdir)
cmds = self.get_meson_log_compiler_checks()
self.assertEqual(len(cmds), 5)
# Path to the compilers, gleaned from cc.compiles tests
cc = cmds[0][0]
cxx = cmds[1][0]
# cc.links
self.assertEqual(cmds[2][0], cc)
# cxx.links with C source
self.assertEqual(cmds[3][0], cc)
self.assertEqual(cmds[4][0], cxx)
def test_ndebug_if_release_disabled(self):
testdir = os.path.join(self.unit_test_dir, '28 ndebug if-release')
self.init(testdir, extra_args=['--buildtype=release', '-Db_ndebug=if-release'])

Loading…
Cancel
Save