summaryrefslogtreecommitdiffstats
path: root/test cases/failing/19 target clash
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/failing/19 target clash')
-rw-r--r--test cases/failing/19 target clash/clash.c6
-rw-r--r--test cases/failing/19 target clash/meson.build15
-rw-r--r--test cases/failing/19 target clash/test.json7
3 files changed, 28 insertions, 0 deletions
diff --git a/test cases/failing/19 target clash/clash.c b/test cases/failing/19 target clash/clash.c
new file mode 100644
index 0000000..2daa06c
--- /dev/null
+++ b/test cases/failing/19 target clash/clash.c
@@ -0,0 +1,6 @@
+#include<stdio.h>
+
+int main(int argc, char **argv) {
+ printf("Clash 2.\n");
+ return 0;
+}
diff --git a/test cases/failing/19 target clash/meson.build b/test cases/failing/19 target clash/meson.build
new file mode 100644
index 0000000..4fd0934
--- /dev/null
+++ b/test cases/failing/19 target clash/meson.build
@@ -0,0 +1,15 @@
+project('clash', 'c')
+
+# This setup causes a namespace clash when two Meson targets would
+# produce a Ninja targets with the same name. It only works on
+# unix, because on Windows the target has a '.exe' suffix.
+#
+# This test might fail to work on different backends or when
+# output location is redirected.
+
+if host_machine.system() == 'windows' or host_machine.system() == 'cygwin'
+ error('MESON_SKIP_TEST test only works on platforms where executables have no suffix.')
+endif
+
+executable('clash', 'clash.c')
+run_target('clash', command: ['echo', 'clash 1'])
diff --git a/test cases/failing/19 target clash/test.json b/test cases/failing/19 target clash/test.json
new file mode 100644
index 0000000..d22b894
--- /dev/null
+++ b/test cases/failing/19 target clash/test.json
@@ -0,0 +1,7 @@
+{
+ "stdout": [
+ {
+ "line": "ERROR: Multiple producers for Ninja target \"clash\". Please rename your targets."
+ }
+ ]
+}