提交 f9854876 编写于 作者: B Brandon Casey 提交者: Junio C Hamano

t/t7008: workaround broken handling of \000 by printf on IRIX

On IRIX 6.5, the printf utility in /usr/bin does not appear to handle the
\ddd notation according to POSIX.  This printf appears to halt processing
of the string argument and ignore any additional characters in the string.
Work around this flaw by replacing the \000's with 'Q' and using the
q_to_nul helper function provided by test-lib.sh

This problem with printf is not apparent when using the Bash shell since
Bash implements a POSIX compatible printf function internally.
Signed-off-by: NBrandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 154adcf9
......@@ -5,7 +5,7 @@ test_description='git grep in binary files'
. ./test-lib.sh
test_expect_success 'setup' "
printf 'binary\000file\n' >a &&
echo 'binaryQfile' | q_to_nul >a &&
git add a &&
git commit -m.
"
......@@ -70,32 +70,32 @@ test_expect_failure 'git grep .fi a' '
'
test_expect_success 'git grep -F y<NUL>f a' "
printf 'y\000f' >f &&
printf 'yQf' | q_to_nul >f &&
git grep -f f -F a
"
test_expect_success 'git grep -F y<NUL>x a' "
printf 'y\000x' >f &&
printf 'yQx' | q_to_nul >f &&
test_must_fail git grep -f f -F a
"
test_expect_success 'git grep -Fi Y<NUL>f a' "
printf 'Y\000f' >f &&
printf 'YQf' | q_to_nul >f &&
git grep -f f -Fi a
"
test_expect_failure 'git grep -Fi Y<NUL>x a' "
printf 'Y\000x' >f &&
printf 'YQx' | q_to_nul >f &&
test_must_fail git grep -f f -Fi a
"
test_expect_success 'git grep y<NUL>f a' "
printf 'y\000f' >f &&
printf 'yQf' | q_to_nul >f &&
git grep -f f a
"
test_expect_failure 'git grep y<NUL>x a' "
printf 'y\000x' >f &&
printf 'yQx' | q_to_nul >f &&
test_must_fail git grep -f f a
"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册