]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t5563: prevent "ambiguous redirect"
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 31 Mar 2023 06:52:05 +0000 (06:52 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 31 Mar 2023 15:50:30 +0000 (08:50 -0700)
When I ran this test using `TEST_SHELL_PATH=/bin/bash` in my Ubuntu
setup (where Bash is at version 5.0.17(1)-release), I was greeted with
this error message:

./test-lib.sh: line 1072: $CHALLENGE: ambiguous redirect

This commit fixes that error by quoting the `CHALLENGE` variable (which
has as value a path containing spaces), and by avoiding to cuddle the
empty string parameter in the `printf` call with the redirect character
(in fact, the `printf ''>$CHALLENGE` is removed because the next line
overwrites the file anyway because it _also_ uses a single `>` to
redirect the output).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5563-simple-http-auth.sh

index ccf7e54b073b64c57f40920dade79c8abf13a539..f45a43b4b5e5897145c6f9da1244ee992886b355 100755 (executable)
@@ -252,15 +252,14 @@ test_expect_success 'access using basic auth with wwwauth header empty continuat
 
        # Note that leading and trailing whitespace is important to correctly
        # simulate a continuation/folded header.
-       printf "">$CHALLENGE &&
-       printf "WWW-Authenticate: FooBar param1=\"value1\"\r\n" >$CHALLENGE &&
-       printf " \r\n" >>$CHALLENGE &&
-       printf " param2=\"value2\"\r\n" >>$CHALLENGE &&
-       printf "WWW-Authenticate: Bearer authorize_uri=\"id.example.com\"\r\n" >>$CHALLENGE &&
-       printf " p=1\r\n" >>$CHALLENGE &&
-       printf " \r\n" >>$CHALLENGE &&
-       printf " q=0\r\n" >>$CHALLENGE &&
-       printf "WWW-Authenticate: Basic realm=\"example.com\"\r\n" >>$CHALLENGE &&
+       printf "WWW-Authenticate: FooBar param1=\"value1\"\r\n" >"$CHALLENGE" &&
+       printf " \r\n" >>"$CHALLENGE" &&
+       printf " param2=\"value2\"\r\n" >>"$CHALLENGE" &&
+       printf "WWW-Authenticate: Bearer authorize_uri=\"id.example.com\"\r\n" >>"$CHALLENGE" &&
+       printf " p=1\r\n" >>"$CHALLENGE" &&
+       printf " \r\n" >>"$CHALLENGE" &&
+       printf " q=0\r\n" >>"$CHALLENGE" &&
+       printf "WWW-Authenticate: Basic realm=\"example.com\"\r\n" >>"$CHALLENGE" &&
 
        test_config_global credential.helper test-helper &&
        git ls-remote "$HTTPD_URL/custom_auth/repo.git" &&
@@ -298,11 +297,10 @@ test_expect_success 'access using basic auth with wwwauth header mixed line-endi
 
        # Note that leading and trailing whitespace is important to correctly
        # simulate a continuation/folded header.
-       printf "">$CHALLENGE &&
-       printf "WWW-Authenticate: FooBar param1=\"value1\"\r\n" >$CHALLENGE &&
-       printf " \r\n" >>$CHALLENGE &&
-       printf "\tparam2=\"value2\"\r\n" >>$CHALLENGE &&
-       printf "WWW-Authenticate: Basic realm=\"example.com\"" >>$CHALLENGE &&
+       printf "WWW-Authenticate: FooBar param1=\"value1\"\r\n" >"$CHALLENGE" &&
+       printf " \r\n" >>"$CHALLENGE" &&
+       printf "\tparam2=\"value2\"\r\n" >>"$CHALLENGE" &&
+       printf "WWW-Authenticate: Basic realm=\"example.com\"" >>"$CHALLENGE" &&
 
        test_config_global credential.helper test-helper &&
        git ls-remote "$HTTPD_URL/custom_auth/repo.git" &&