From: Uwe Storbeck Date: Tue, 18 Mar 2014 00:14:11 +0000 (+0100) Subject: test-lib.sh: do not "echo" caller-supplied strings X-Git-Tag: v1.9.2~15^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/cb1aefda53aac7c5e8bda58ed86f0682730b330b?hp=47be06602656ee9cac860f675d2c8d1f0deabdbe 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 Signed-off-by: Junio C Hamano --- 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; } }