glsl/glcpp: Fix glcpp-test to correctly extract test-specific arguments
authorCarl Worth <cworth@cworth.org>
Thu, 3 Jul 2014 05:58:57 +0000 (22:58 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 7 Aug 2014 23:08:29 +0000 (16:08 -0700)
The (optional) test-specific command-line arguments to be passed to glcpp are
embedded within the source files of some tests, and glcpp-test uses grep to
extract them.

Of course, grep is line-based and looks for the native line-separator to
determine line boundaries. So, for files using non-native line separators,
grep was getting quite confused and passing bogus arguments to glcpp.

Fix this by canonical-izing the line separators in the source file prior to
using grep.

With this commit, the glcpp-test-cr-lf tests pass entirely:

\r: 143/143 tests pass
\r\n: 143/143 tests pass
\n\r: 143/143 tests pass

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/glcpp/tests/glcpp-test

index 9bf7bdb7c45976a2660849baff3712633701e79e..640f57684ff596c709ec0edd2db6dbb0822162ad 100755 (executable)
@@ -28,7 +28,7 @@ test_specific_args ()
 {
     test="$1"
 
-    grep 'glcpp-args:' "$test" | sed -e 's,^.*glcpp-args: *,,'
+    tr "\r" "\n" < "$test" | grep 'glcpp-args:' | sed -e 's,^.*glcpp-args: *,,'
 }
 
 # Parse command-line options