From bb70277e96c183ae3f07ecfdd11be0ee5257112e Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 22 Jul 2021 11:56:54 +0200 Subject: [PATCH] add test case for mixed language link tests --- .../unit/97 compiler.links file arg/meson.build | 11 +++++++++++ test cases/unit/97 compiler.links file arg/test.c | 1 + unittests/allplatformstests.py | 14 ++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 test cases/unit/97 compiler.links file arg/meson.build create mode 100644 test cases/unit/97 compiler.links file arg/test.c diff --git a/test cases/unit/97 compiler.links file arg/meson.build b/test cases/unit/97 compiler.links file arg/meson.build new file mode 100644 index 000000000..c409dcbd1 --- /dev/null +++ b/test cases/unit/97 compiler.links file arg/meson.build @@ -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'))) diff --git a/test cases/unit/97 compiler.links file arg/test.c b/test cases/unit/97 compiler.links file arg/test.c new file mode 100644 index 000000000..78f2de106 --- /dev/null +++ b/test cases/unit/97 compiler.links file arg/test.c @@ -0,0 +1 @@ +int main(void) { return 0; } diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py index 6ead45ed9..055d701e5 100644 --- a/unittests/allplatformstests.py +++ b/unittests/allplatformstests.py @@ -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'])