summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUwe Storbeck <uwe@ibr.ch>2014-03-18 01:14:11 +0100
committerJunio C Hamano <gitster@pobox.com>2014-03-18 11:48:00 -0700
commitcb1aefda53aac7c5e8bda58ed86f0682730b330b (patch)
tree68b501b1caee9e85eb7170e70577852b39ffa2bc
parent47be06602656ee9cac860f675d2c8d1f0deabdbe (diff)
downloadgit-us/printf-not-echo.tar.gz
test-lib.sh: do not "echo" caller-supplied stringsus/printf-not-echo
In some places we "echo" a string that is supplied by the calling test script and may contain backslash sequences. The echo command of some shells, most notably "dash", interprets these backslash sequences (POSIX.1 allows this) which may scramble the test output. Signed-off-by: Uwe Storbeck <uwe@ibr.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--t/test-lib.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 1531c241c0..3c7cb1d774 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -277,7 +277,7 @@ error "Test script did not set test_description."
if test "$help" = "t"
then
- echo "$test_description"
+ printf '%s\n' "$test_description"
exit 0
fi
@@ -328,7 +328,7 @@ test_failure_ () {
test_failure=$(($test_failure + 1))
say_color error "not ok $test_count - $1"
shift
- echo "$@" | sed -e 's/^/# /'
+ printf '%s\n' "$*" | sed -e 's/^/# /'
test "$immediate" = "" || { GIT_EXIT_OK=t; exit 1; }
}