tests: portability fix.
authorAkim Demaille <demaille@gostai.com>
Wed, 26 Aug 2009 09:53:18 +0000 (11:53 +0200)
committerAkim Demaille <demaille@gostai.com>
Wed, 26 Aug 2009 11:22:29 +0000 (13:22 +0200)
* tests/input.at (Bad escapes in literals): Don't expect "echo
'\0'" to output \ then 0.
(cherry picked from commit 3bed3a757fef03bb063e210ed74918bb875fe2e1)

ChangeLog
tests/input.at

index a3cabd7..87191e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-08-26  Akim Demaille  <demaille@gostai.com>
+
+       tests: portability fix.
+       * tests/input.at (Bad escapes in literals): Don't expect "echo
+       '\0'" to output \ then 0.
+
 2009-08-26  Joel E. Denny  <jdenny@clemson.edu>
 
        Actually handle the yytable zero value correctly this time.
index 0f3f8a3..e828987 100644 (file)
@@ -1227,7 +1227,14 @@ start: '\777' '\0' '\xfff' '\x0'
        '\uffff' '\u0000' '\Uffffffff' '\U00000000'
        '\ ' '\A';
 ]])
-echo 'start: "\T\F\0\1" ;' | tr 'TF01' '\011\014\0\1' >> input.y
+
+# It is not easy to create special characters, we can only trust tr.
+# Beside we cannot even expect "echo '\0'" to output two characters
+# (well three with \n): at least Bash 3.2 converts the two-character
+# sequence "\0" into a single NUL character.
+#
+# Z for 0, O for 1.
+echo 'start: "\T\F\Z\O" ;' | tr 'TFZO' '\011\014\0\1' >> input.y
 
 AT_BISON_CHECK([input.y], [1], [],
 [[input.y:2.9-12: invalid number after \-escape: 777