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 4bfd90991a92eaf647211d881f22a382d3ac6cb2..af89e7ff4e37ec6a6e991d53c3e4d563600553a5 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' ]],