test-lib: handle TEST_OUTPUT_DIRECTORY with spaces
authorJeff King <peff@peff.net>
Fri, 21 Oct 2016 10:42:10 +0000 (06:42 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 21 Oct 2016 16:54:34 +0000 (09:54 -0700)
We are careful in test_done to handle a results directory
with a space in it, but the "--tee" code path does not.
Doing:

export TEST_OUTPUT_DIRECTORY='/tmp/path with spaces'
./t000-init.sh --tee

results in errors. Let's consistently double-quote our path
variables so that this works.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh
index 39c70f03269c263fb4872efed88a4142aec25be1..01bb58ef005e5fa3cc01fd14f02bd0acaf298156 100644 (file)
@@ -58,8 +58,8 @@ done,*)
        mkdir -p "$TEST_OUTPUT_DIRECTORY/test-results"
        BASE="$TEST_OUTPUT_DIRECTORY/test-results/$(basename "$0" .sh)"
        (GIT_TEST_TEE_STARTED=done ${SHELL_PATH} "$0" "$@" 2>&1;
-        echo $? > $BASE.exit) | tee $BASE.out
-       test "$(cat $BASE.exit)" = 0
+        echo $? >"$BASE.exit") | tee "$BASE.out"
+       test "$(cat "$BASE.exit")" = 0
        exit
        ;;
 esac