summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-02-17 17:43:37 (GMT)
committerBrad King <brad.king@kitware.com>2014-02-26 16:54:50 (GMT)
commit15e66a52430ad255834b7eb3de1f46923ed51704 (patch)
treed10554c23b65c53aedc382890c4dad079353e0ad
parent9ecf51353b56eadceff6d4d6ad22098dc24b3035 (diff)
downloadCastXML-15e66a52430ad255834b7eb3de1f46923ed51704.zip
CastXML-15e66a52430ad255834b7eb3de1f46923ed51704.tar.gz
CastXML-15e66a52430ad255834b7eb3de1f46923ed51704.tar.bz2
Add test cases for castxml command-line errors
Test that running with no arguments produces no output or error. Test command-line option error messages produced by our code.
-rw-r--r--test/CMakeLists.txt10
-rw-r--r--test/expect/cmd.cc-missing-result.txt1
-rw-r--r--test/expect/cmd.cc-missing-stderr.txt3
-rw-r--r--test/expect/cmd.cc-twice-result.txt1
-rw-r--r--test/expect/cmd.cc-twice-stderr.txt3
-rw-r--r--test/expect/cmd.cc-unknown-result.txt1
-rw-r--r--test/expect/cmd.cc-unknown-stderr.txt1
-rw-r--r--test/expect/cmd.gccxml-and-E-result.txt1
-rw-r--r--test/expect/cmd.gccxml-and-E-stderr.txt3
-rw-r--r--test/expect/cmd.gccxml-twice-result.txt1
-rw-r--r--test/expect/cmd.gccxml-twice-stderr.txt3
-rw-r--r--test/expect/cmd.no-arguments-stderr.txt1
-rw-r--r--test/expect/cmd.no-arguments-stdout.txt1
-rw-r--r--test/expect/cmd.o-missing-result.txt1
-rw-r--r--test/expect/cmd.o-missing-stderr.txt3
-rw-r--r--test/expect/cmd.start-missing-result.txt1
-rw-r--r--test/expect/cmd.start-missing-stderr.txt3
17 files changed, 38 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 3ff5d08..fd8f58d 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -24,3 +24,13 @@ macro(castxml_test_cmd test)
-P ${CMAKE_CURRENT_SOURCE_DIR}/run.cmake
)
endmacro()
+
+castxml_test_cmd(no-arguments)
+
+castxml_test_cmd(cc-missing --castxml-cc-gnu)
+castxml_test_cmd(cc-twice --castxml-cc-msvc cl --castxml-cc-gnu gcc)
+castxml_test_cmd(cc-unknown --castxml-cc-unknown cc)
+castxml_test_cmd(gccxml-and-E --castxml-gccxml -E)
+castxml_test_cmd(gccxml-twice --castxml-gccxml --castxml-gccxml)
+castxml_test_cmd(o-missing -o)
+castxml_test_cmd(start-missing --castxml-start)
diff --git a/test/expect/cmd.cc-missing-result.txt b/test/expect/cmd.cc-missing-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/test/expect/cmd.cc-missing-result.txt
@@ -0,0 +1 @@
+1
diff --git a/test/expect/cmd.cc-missing-stderr.txt b/test/expect/cmd.cc-missing-stderr.txt
new file mode 100644
index 0000000..fb0c343
--- /dev/null
+++ b/test/expect/cmd.cc-missing-stderr.txt
@@ -0,0 +1,3 @@
+^error: '--castxml-cc-gnu' must be followed by a compiler command!
+
+Usage: castxml .*$
diff --git a/test/expect/cmd.cc-twice-result.txt b/test/expect/cmd.cc-twice-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/test/expect/cmd.cc-twice-result.txt
@@ -0,0 +1 @@
+1
diff --git a/test/expect/cmd.cc-twice-stderr.txt b/test/expect/cmd.cc-twice-stderr.txt
new file mode 100644
index 0000000..c3d3fa7
--- /dev/null
+++ b/test/expect/cmd.cc-twice-stderr.txt
@@ -0,0 +1,3 @@
+^error: '--castxml-cc-<id>' may be given at most once!
+
+Usage: castxml .*$
diff --git a/test/expect/cmd.cc-unknown-result.txt b/test/expect/cmd.cc-unknown-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/test/expect/cmd.cc-unknown-result.txt
@@ -0,0 +1 @@
+1
diff --git a/test/expect/cmd.cc-unknown-stderr.txt b/test/expect/cmd.cc-unknown-stderr.txt
new file mode 100644
index 0000000..5969296
--- /dev/null
+++ b/test/expect/cmd.cc-unknown-stderr.txt
@@ -0,0 +1 @@
+^error: '--castxml-cc-unknown' not known!$
diff --git a/test/expect/cmd.gccxml-and-E-result.txt b/test/expect/cmd.gccxml-and-E-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/test/expect/cmd.gccxml-and-E-result.txt
@@ -0,0 +1 @@
+1
diff --git a/test/expect/cmd.gccxml-and-E-stderr.txt b/test/expect/cmd.gccxml-and-E-stderr.txt
new file mode 100644
index 0000000..f1248e4
--- /dev/null
+++ b/test/expect/cmd.gccxml-and-E-stderr.txt
@@ -0,0 +1,3 @@
+^error: '--castxml-gccxml' and '-E' may not both be given
+
+Usage: castxml .*$
diff --git a/test/expect/cmd.gccxml-twice-result.txt b/test/expect/cmd.gccxml-twice-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/test/expect/cmd.gccxml-twice-result.txt
@@ -0,0 +1 @@
+1
diff --git a/test/expect/cmd.gccxml-twice-stderr.txt b/test/expect/cmd.gccxml-twice-stderr.txt
new file mode 100644
index 0000000..1d597ac
--- /dev/null
+++ b/test/expect/cmd.gccxml-twice-stderr.txt
@@ -0,0 +1,3 @@
+^error: '--castxml-gccxml' may be given at most once!
+
+Usage: castxml .*$
diff --git a/test/expect/cmd.no-arguments-stderr.txt b/test/expect/cmd.no-arguments-stderr.txt
new file mode 100644
index 0000000..10f3293
--- /dev/null
+++ b/test/expect/cmd.no-arguments-stderr.txt
@@ -0,0 +1 @@
+^$
diff --git a/test/expect/cmd.no-arguments-stdout.txt b/test/expect/cmd.no-arguments-stdout.txt
new file mode 100644
index 0000000..10f3293
--- /dev/null
+++ b/test/expect/cmd.no-arguments-stdout.txt
@@ -0,0 +1 @@
+^$
diff --git a/test/expect/cmd.o-missing-result.txt b/test/expect/cmd.o-missing-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/test/expect/cmd.o-missing-result.txt
@@ -0,0 +1 @@
+1
diff --git a/test/expect/cmd.o-missing-stderr.txt b/test/expect/cmd.o-missing-stderr.txt
new file mode 100644
index 0000000..6455bd9
--- /dev/null
+++ b/test/expect/cmd.o-missing-stderr.txt
@@ -0,0 +1,3 @@
+^error: argument to '-o' is missing \(expected 1 value\)
+
+Usage: castxml .*$
diff --git a/test/expect/cmd.start-missing-result.txt b/test/expect/cmd.start-missing-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/test/expect/cmd.start-missing-result.txt
@@ -0,0 +1 @@
+1
diff --git a/test/expect/cmd.start-missing-stderr.txt b/test/expect/cmd.start-missing-stderr.txt
new file mode 100644
index 0000000..81e1d75
--- /dev/null
+++ b/test/expect/cmd.start-missing-stderr.txt
@@ -0,0 +1,3 @@
+^error: argument to '--castxml-start' is missing \(expected 1 value\)
+
+Usage: castxml .*$