summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Casey <drafnel@gmail.com>2010-09-09 19:15:57 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-09-10 00:11:06 (GMT)
commitf98548764ea0baf7490b76782e323f90a941cc74 (patch)
tree59ee7ef84e2fc543eaa86ccb6b44a96775fb7582
parent154adcf9c08218077275f7a4c7a6e61632516561 (diff)
downloadgit-f98548764ea0baf7490b76782e323f90a941cc74.zip
git-f98548764ea0baf7490b76782e323f90a941cc74.tar.gz
git-f98548764ea0baf7490b76782e323f90a941cc74.tar.bz2
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: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t7008-grep-binary.sh14
1 files changed, 7 insertions, 7 deletions
diff --git a/t/t7008-grep-binary.sh b/t/t7008-grep-binary.sh
index c0f9f3f..e058d18 100755
--- a/t/t7008-grep-binary.sh
+++ b/t/t7008-grep-binary.sh
@@ -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
"