summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-05-28 13:17:51 (GMT)
committerBrad King <brad.king@kitware.com>2015-05-28 13:39:44 (GMT)
commit0a88049be999aafdbc8134592c6e7d1449bca57b (patch)
tree545b1fed624d8041bea756b786fcc16e59dfd4d5 /test
parent71c8f9fef439accf1a570ebd0b700ad5b6b948e3 (diff)
downloadCastXML-0a88049be999aafdbc8134592c6e7d1449bca57b.zip
CastXML-0a88049be999aafdbc8134592c6e7d1449bca57b.tar.gz
CastXML-0a88049be999aafdbc8134592c6e7d1449bca57b.tar.bz2
test: Add cases covering --castxml-cc-<id> target triple detection
Add test cases for the changes in commit 3c777ef360 (Detect: Improve target triple selection, 2015-04-16).
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt9
-rw-r--r--test/cc-gnu.c9
-rw-r--r--test/cc-msvc.c9
-rw-r--r--test/expect/cmd.cc-gnu-tgt-amd64.stderr.txt3
-rw-r--r--test/expect/cmd.cc-gnu-tgt-i386.stderr.txt3
-rw-r--r--test/expect/cmd.cc-gnu-tgt-mingw.stderr.txt3
-rw-r--r--test/expect/cmd.cc-gnu-tgt-win.stderr.txt4
-rw-r--r--test/expect/cmd.cc-gnu-tgt-x86_64.stderr.txt3
-rw-r--r--test/expect/cmd.cc-msvc-tgt-amd64.stderr.txt3
-rw-r--r--test/expect/cmd.cc-msvc-tgt-i386.stderr.txt3
-rw-r--r--test/expect/cmd.cc-msvc-tgt-win.stderr.txt4
-rw-r--r--test/expect/cmd.cc-msvc-tgt-x86_64.stderr.txt3
12 files changed, 54 insertions, 2 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 9240aff..6698ed8 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -129,6 +129,11 @@ castxml_test_cmd(cc-gnu-c-E --castxml-cc-gnu $<TARGET_FILE:cc-gnu> ${empty_c} -E
castxml_test_cmd(cc-gnu-c-cmd --castxml-cc-gnu $<TARGET_FILE:cc-gnu> ${empty_c} "-###")
castxml_test_cmd(cc-gnu-cxx-E --castxml-cc-gnu $<TARGET_FILE:cc-gnu> ${empty_cxx} -E -dM)
castxml_test_cmd(cc-gnu-cxx-cmd --castxml-cc-gnu $<TARGET_FILE:cc-gnu> ${empty_cxx} "-###")
+castxml_test_cmd(cc-gnu-tgt-amd64 --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=__amd64__ ")" ${empty_cxx} "-###")
+castxml_test_cmd(cc-gnu-tgt-i386 --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=__i386__ ")" ${empty_cxx} "-###")
+castxml_test_cmd(cc-gnu-tgt-mingw --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=_WIN32 --cc-define=__MINGW32__ ")" ${empty_cxx} "-###")
+castxml_test_cmd(cc-gnu-tgt-win --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=_WIN32 ")" ${empty_cxx} "-###")
+castxml_test_cmd(cc-gnu-tgt-x86_64 --castxml-cc-gnu "(" $<TARGET_FILE:cc-gnu> --cc-define=__x86_64__ ")" ${empty_cxx} "-###")
# Test --castxml-cc-msvc detection.
add_executable(cc-msvc cc-msvc.c)
@@ -137,6 +142,10 @@ castxml_test_cmd(cc-msvc-c-E --castxml-cc-msvc $<TARGET_FILE:cc-msvc> ${empty_c}
castxml_test_cmd(cc-msvc-c-cmd --castxml-cc-msvc $<TARGET_FILE:cc-msvc> ${empty_c} "-###")
castxml_test_cmd(cc-msvc-cxx-E --castxml-cc-msvc $<TARGET_FILE:cc-msvc> ${empty_cxx} -E -dM)
castxml_test_cmd(cc-msvc-cxx-cmd --castxml-cc-msvc $<TARGET_FILE:cc-msvc> ${empty_cxx} "-###")
+castxml_test_cmd(cc-msvc-tgt-amd64 --castxml-cc-msvc "(" $<TARGET_FILE:cc-msvc> --cc-define=_M_AMD64 ")" ${empty_cxx} "-###")
+castxml_test_cmd(cc-msvc-tgt-i386 --castxml-cc-msvc "(" $<TARGET_FILE:cc-msvc> --cc-define=_M_IX86 ")" ${empty_cxx} "-###")
+castxml_test_cmd(cc-msvc-tgt-win --castxml-cc-msvc "(" $<TARGET_FILE:cc-msvc> --cc-define=_WIN32 ")" ${empty_cxx} "-###")
+castxml_test_cmd(cc-msvc-tgt-x86_64 --castxml-cc-msvc "(" $<TARGET_FILE:cc-msvc> --cc-define=_M_X64 ")" ${empty_cxx} "-###")
unset(castxml_test_cmd_extra_arguments)
castxml_test_gccxml(ArrayType)
diff --git a/test/cc-gnu.c b/test/cc-gnu.c
index 10332a5..55a37a4 100644
--- a/test/cc-gnu.c
+++ b/test/cc-gnu.c
@@ -1,7 +1,14 @@
#include <stdio.h>
+#include <string.h>
-int main(void)
+int main(int argc, const char* argv[])
{
+ int i;
+ for (i = 1; i < argc; ++i) {
+ if (strncmp(argv[i], "--cc-define=", 12) == 0) {
+ fprintf(stdout, "#define %s 1\n", argv[i]+12);
+ }
+ }
fprintf(stdout,
"#define __cc_gnu__ 1\n"
"#define __has_include(x) x\n"
diff --git a/test/cc-msvc.c b/test/cc-msvc.c
index 8f439b4..0933b92 100644
--- a/test/cc-msvc.c
+++ b/test/cc-msvc.c
@@ -1,7 +1,14 @@
#include <stdio.h>
+#include <string.h>
-int main(void)
+int main(int argc, const char* argv[])
{
+ int i;
+ for (i = 1; i < argc; ++i) {
+ if (strncmp(argv[i], "--cc-define=", 12) == 0) {
+ fprintf(stdout, "\n#define %s 1", argv[i]+12);
+ }
+ }
fprintf(stdout,
"\n"
"#define __cc_msvc__ 1\n"
diff --git a/test/expect/cmd.cc-gnu-tgt-amd64.stderr.txt b/test/expect/cmd.cc-gnu-tgt-amd64.stderr.txt
new file mode 100644
index 0000000..c3aedee
--- /dev/null
+++ b/test/expect/cmd.cc-gnu-tgt-amd64.stderr.txt
@@ -0,0 +1,3 @@
+Target: amd64-[^
+]+
+.
diff --git a/test/expect/cmd.cc-gnu-tgt-i386.stderr.txt b/test/expect/cmd.cc-gnu-tgt-i386.stderr.txt
new file mode 100644
index 0000000..cb02cd7
--- /dev/null
+++ b/test/expect/cmd.cc-gnu-tgt-i386.stderr.txt
@@ -0,0 +1,3 @@
+Target: i386-[^
+]+
+.
diff --git a/test/expect/cmd.cc-gnu-tgt-mingw.stderr.txt b/test/expect/cmd.cc-gnu-tgt-mingw.stderr.txt
new file mode 100644
index 0000000..8e99006
--- /dev/null
+++ b/test/expect/cmd.cc-gnu-tgt-mingw.stderr.txt
@@ -0,0 +1,3 @@
+Target: [^
+]+-pc-windows-gnu
+.
diff --git a/test/expect/cmd.cc-gnu-tgt-win.stderr.txt b/test/expect/cmd.cc-gnu-tgt-win.stderr.txt
new file mode 100644
index 0000000..8dd6a13
--- /dev/null
+++ b/test/expect/cmd.cc-gnu-tgt-win.stderr.txt
@@ -0,0 +1,4 @@
+Target: [^
+]+-pc-windows[^
+]+
+.
diff --git a/test/expect/cmd.cc-gnu-tgt-x86_64.stderr.txt b/test/expect/cmd.cc-gnu-tgt-x86_64.stderr.txt
new file mode 100644
index 0000000..17ecd16
--- /dev/null
+++ b/test/expect/cmd.cc-gnu-tgt-x86_64.stderr.txt
@@ -0,0 +1,3 @@
+Target: x86_64-[^
+]+
+.
diff --git a/test/expect/cmd.cc-msvc-tgt-amd64.stderr.txt b/test/expect/cmd.cc-msvc-tgt-amd64.stderr.txt
new file mode 100644
index 0000000..c3aedee
--- /dev/null
+++ b/test/expect/cmd.cc-msvc-tgt-amd64.stderr.txt
@@ -0,0 +1,3 @@
+Target: amd64-[^
+]+
+.
diff --git a/test/expect/cmd.cc-msvc-tgt-i386.stderr.txt b/test/expect/cmd.cc-msvc-tgt-i386.stderr.txt
new file mode 100644
index 0000000..cb02cd7
--- /dev/null
+++ b/test/expect/cmd.cc-msvc-tgt-i386.stderr.txt
@@ -0,0 +1,3 @@
+Target: i386-[^
+]+
+.
diff --git a/test/expect/cmd.cc-msvc-tgt-win.stderr.txt b/test/expect/cmd.cc-msvc-tgt-win.stderr.txt
new file mode 100644
index 0000000..05f7eea
--- /dev/null
+++ b/test/expect/cmd.cc-msvc-tgt-win.stderr.txt
@@ -0,0 +1,4 @@
+Target: [^
+-]+-pc-windows[^
+]*
+.
diff --git a/test/expect/cmd.cc-msvc-tgt-x86_64.stderr.txt b/test/expect/cmd.cc-msvc-tgt-x86_64.stderr.txt
new file mode 100644
index 0000000..17ecd16
--- /dev/null
+++ b/test/expect/cmd.cc-msvc-tgt-x86_64.stderr.txt
@@ -0,0 +1,3 @@
+Target: x86_64-[^
+]+
+.