Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15
STALE3729d

[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\x88
Good 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help