summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Uwe Storbeck <uwe@ibr.ch>2014-03-18 01:14:11 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-03-18 11:48:00 -0700
commitcb1aefda53aac7c5e8bda58ed86f0682730b330b (patch)
tree68b501b1caee9e85eb7170e70577852b39ffa2bc
parentrebase -i: do not "echo" random user-supplied strings (diff)
downloadtgif-cb1aefda53aac7c5e8bda58ed86f0682730b330b.tar.xz
test-lib.sh: do not "echo" caller-supplied strings
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; }
}