[PATCH] t0050: fix printf format strings for portability
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:50:17
Subsystem:
the rest · Maintainer:
Linus Torvalds
Unlike bash and ksh, dash passes through hexadecimal \xcc escapes. So when run with dash, these tests *pass* (since '\xcc' is a perfectly reasonable filename) but they are not testing what was intended. Use octal escapes instead, in the spirit of v1.6.1-rc1~55^2 (2008-11-09). Reported-by: Ramsay Jones <redacted> Signed-off-by: Jonathan Nieder <redacted> --- Ramsay Jones wrote:
I noticed recently that the unicode tests, when run by the dash shell,
have not been working as designed. (The tests *pass*, but they are
*not* testing what was intended)
In order to demonstrate, I added an "false &&" line after the touch in
test #8, so that (on Ubuntu):
$ ./t0050-filesystem -i[...]
$ ls trash\ directory.t0050-filesystem/unicode/
\x61\xcc\x88Good point. POSIX printf is not required to support \x escape sequences. t/t0050-filesystem.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh
index 057c97c..1542cf6 100755
--- a/t/t0050-filesystem.sh
+++ b/t/t0050-filesystem.sh@@ -4,8 +4,8 @@ test_description='Various filesystem issues' . ./test-lib.sh -auml=`printf '\xc3\xa4'` -aumlcdiar=`printf '\x61\xcc\x88'` +auml=$(printf '\303\244') +aumlcdiar=$(printf '\141\314\210') case_insensitive= unibad=
--
1.7.2.3.554.gc9b5c.dirty