summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorDaniel Franke <franke@edf-online.de>2018-05-18 19:59:46 (GMT)
committerBrad King <brad.king@kitware.com>2018-06-26 18:15:21 (GMT)
commit7c4c13ffef87d748b896e2c762ad0b2c00afcd31 (patch)
tree912ac1661b74cc13fbc735eb8a38f617c1598de9 /Tests
parent5b0f73a15a7b49461123a969bbebceff4284df9c (diff)
downloadCMake-7c4c13ffef87d748b896e2c762ad0b2c00afcd31.zip
CMake-7c4c13ffef87d748b896e2c762ad0b2c00afcd31.tar.gz
CMake-7c4c13ffef87d748b896e2c762ad0b2c00afcd31.tar.bz2
math: Reject unexpected expression input explicitly
Switch to C++ exceptions for lexer/parser error handling. Teach the lexer/parser to fail on unexpected input.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/math/MATH-InvalidExpression-result.txt1
-rw-r--r--Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt6
-rw-r--r--Tests/RunCMake/math/MATH-InvalidExpression.cmake1
-rw-r--r--Tests/RunCMake/math/RunCMakeTest.cmake1
4 files changed, 9 insertions, 0 deletions
diff --git a/Tests/RunCMake/math/MATH-InvalidExpression-result.txt b/Tests/RunCMake/math/MATH-InvalidExpression-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/math/MATH-InvalidExpression-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt b/Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt
new file mode 100644
index 0000000..18ac9f7
--- /dev/null
+++ b/Tests/RunCMake/math/MATH-InvalidExpression-stderr.txt
@@ -0,0 +1,6 @@
+^CMake Error at MATH-InvalidExpression.cmake:1 \(math\):
+ *math cannot parse the expression: "INVALID": syntax error, unexpected
+ *character, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
+ *\(1\).
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)$
diff --git a/Tests/RunCMake/math/MATH-InvalidExpression.cmake b/Tests/RunCMake/math/MATH-InvalidExpression.cmake
new file mode 100644
index 0000000..6e37128
--- /dev/null
+++ b/Tests/RunCMake/math/MATH-InvalidExpression.cmake
@@ -0,0 +1 @@
+math(EXPR var "INVALID")
diff --git a/Tests/RunCMake/math/RunCMakeTest.cmake b/Tests/RunCMake/math/RunCMakeTest.cmake
index 7098f67..d767547 100644
--- a/Tests/RunCMake/math/RunCMakeTest.cmake
+++ b/Tests/RunCMake/math/RunCMakeTest.cmake
@@ -1,3 +1,4 @@
include(RunCMake)
run_cmake(MATH)
+run_cmake(MATH-InvalidExpression)