aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test cases/unit/97 compiler.links file arg/meson.build11
-rw-r--r--test cases/unit/97 compiler.links file arg/test.c1
-rw-r--r--unittests/allplatformstests.py14
3 files changed, 26 insertions, 0 deletions
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 0000000..c409dcb
--- /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 0000000..78f2de1
--- /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 6ead45e..055d701 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'])