summaryrefslogtreecommitdiff
path: root/src/glsl/glcpp/tests
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2014-06-20 14:28:20 -0700
committerCarl Worth <cworth@cworth.org>2014-07-29 15:11:48 -0700
commit5dbdc341e8e8502ab5d98784a24b54c6f3907472 (patch)
treede3a0c6f1307fb234e030a2cd318949e082fafba /src/glsl/glcpp/tests
parent21dda50549c5f220eff7ec04a72fb02e5eb09e76 (diff)
glsl/glcpp: Add testing for EOF sans newline (and fix for <DEFINE>, <COMMENT>)
The glcpp implementation has long had code to support a file that ends without a final newline. But we didn't have a "make check" test for this. Additionally, the <EOF> action was restricted only to the <INITIAL> state so it would fail to get invoked if the EOF was encountered in the <COMMENT> or the <DEFINE> case. Neither of these was a bug, per se, since EOF in either of these cases is an error anyway, (either "unterminated comment" or "missing macro name for #define"). But with the new explicit support for these cases, we not generate clean error messages in these cases, (rather than "unexpected $end" from before). Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/glsl/glcpp/tests')
-rw-r--r--src/glsl/glcpp/tests/131-eof-without-newline.c1
-rw-r--r--src/glsl/glcpp/tests/131-eof-without-newline.c.expected1
-rw-r--r--src/glsl/glcpp/tests/132-eof-without-newline-define.c1
-rw-r--r--src/glsl/glcpp/tests/132-eof-without-newline-define.c.expected2
-rw-r--r--src/glsl/glcpp/tests/133-eof-without-newline-comment.c1
-rw-r--r--src/glsl/glcpp/tests/133-eof-without-newline-comment.c.expected2
6 files changed, 8 insertions, 0 deletions
diff --git a/src/glsl/glcpp/tests/131-eof-without-newline.c b/src/glsl/glcpp/tests/131-eof-without-newline.c
new file mode 100644
index 00000000000..240292dad01
--- /dev/null
+++ b/src/glsl/glcpp/tests/131-eof-without-newline.c
@@ -0,0 +1 @@
+this file ends with no newline \ No newline at end of file
diff --git a/src/glsl/glcpp/tests/131-eof-without-newline.c.expected b/src/glsl/glcpp/tests/131-eof-without-newline.c.expected
new file mode 100644
index 00000000000..57800306322
--- /dev/null
+++ b/src/glsl/glcpp/tests/131-eof-without-newline.c.expected
@@ -0,0 +1 @@
+this file ends with no newline
diff --git a/src/glsl/glcpp/tests/132-eof-without-newline-define.c b/src/glsl/glcpp/tests/132-eof-without-newline-define.c
new file mode 100644
index 00000000000..6795e35ea00
--- /dev/null
+++ b/src/glsl/glcpp/tests/132-eof-without-newline-define.c
@@ -0,0 +1 @@
+#define \ No newline at end of file
diff --git a/src/glsl/glcpp/tests/132-eof-without-newline-define.c.expected b/src/glsl/glcpp/tests/132-eof-without-newline-define.c.expected
new file mode 100644
index 00000000000..a3ace0f3966
--- /dev/null
+++ b/src/glsl/glcpp/tests/132-eof-without-newline-define.c.expected
@@ -0,0 +1,2 @@
+0:1(2): preprocessor error: #define without macro name
+0:1(2): preprocessor error: syntax error, unexpected NEWLINE, expecting FUNC_IDENTIFIER or OBJ_IDENTIFIER
diff --git a/src/glsl/glcpp/tests/133-eof-without-newline-comment.c b/src/glsl/glcpp/tests/133-eof-without-newline-comment.c
new file mode 100644
index 00000000000..56ec5f722c0
--- /dev/null
+++ b/src/glsl/glcpp/tests/133-eof-without-newline-comment.c
@@ -0,0 +1 @@
+This file ends with no newline within a comment /* \ No newline at end of file
diff --git a/src/glsl/glcpp/tests/133-eof-without-newline-comment.c.expected b/src/glsl/glcpp/tests/133-eof-without-newline-comment.c.expected
new file mode 100644
index 00000000000..506eb561756
--- /dev/null
+++ b/src/glsl/glcpp/tests/133-eof-without-newline-comment.c.expected
@@ -0,0 +1,2 @@
+0:1(52): preprocessor error: Unterminated comment
+This file ends with no newline within a comment