tests: Avoid nonportable \x escapes in printf(1) invocation.
authorBen Pfaff <blp@nicira.com>
Wed, 26 May 2010 16:53:08 +0000 (09:53 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 26 May 2010 19:52:55 +0000 (12:52 -0700)
The \x escape is not part of POSIX, but it is a common extension.  The
dash shell's built-in "printf" implementation does not include this
extension, which caused the testsuite to be generated incorrectly if it
is used as the default shell (as it is on newer versions of Debian and
Ubuntu).

This commit fixes the problem by using standard octal escapes instead.

Reported-by: Joan Cirer <joan@ev0.net>
tests/ovsdb-data.at

index 4bfd909..af89e7f 100644 (file)
@@ -160,11 +160,11 @@ dnl <C0> is not allowed anywhere in a UTF-8 string.
 dnl <ED A0 80> is a surrogate and not allowed in UTF-8.
 OVSDB_CHECK_POSITIVE([no invalid UTF-8 sequences in strings],
   [parse-atoms '[["string"]]' \
-     '@<:@"m4_esyscmd([printf "\xc0"])"@:>@' \
-     '@<:@"m4_esyscmd([printf "\xed\xa0\x80"])"@:>@' \
+     '@<:@"m4_esyscmd([printf "\300"])"@:>@' \
+     '@<:@"m4_esyscmd([printf "\355\240\200"])"@:>@' \
 ],
-  [constraint violation: "m4_esyscmd([printf "\xc0"])" is not a valid UTF-8 string: invalid UTF-8 sequence 0xc0
-constraint violation: "m4_esyscmd([printf "\xed\xa0\x80"])" is not a valid UTF-8 string: invalid UTF-8 sequence 0xed 0xa0])
+  [constraint violation: "m4_esyscmd([printf "\300"])" is not a valid UTF-8 string: invalid UTF-8 sequence 0xc0
+constraint violation: "m4_esyscmd([printf "\355\240\200"])" is not a valid UTF-8 string: invalid UTF-8 sequence 0xed 0xa0])
 
 OVSDB_CHECK_NEGATIVE([real not acceptable integer string atom],
   [[parse-atom-strings '["integer"]' '0.5' ]],