The dash shell is more finicky than some others. In particular, it does not seem to like the pattern of setting an environment variable on the same line as you call a shell function like this: REQUEST_METHOD="GET" some_shell_function as you might use to set a variable only for one command if that command were an executable or a shell builtin. Reported-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> Signed-off-by: Tarmigan Casebolt <tarmigan+git@xxxxxxxxx> --- Junio, that description matches my understanding of the problem. I can't tell from my reading of the POSIX spec whether my usage was wrong or if dash is wrong, which is why I shied away from an explanation. As a practical matter though, this patch does fix the issue. This version takes a slighty different approach that I think leaves things clearer and doesn't pass in tons of arguements to the shell function. If you prefer the old approach, I can send a patch that way instead. --- t/t5560-http-backend-noserver.sh | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/t/t5560-http-backend-noserver.sh b/t/t5560-http-backend-noserver.sh index 5f8c88e..44885b8 100755 --- a/t/t5560-http-backend-noserver.sh +++ b/t/t5560-http-backend-noserver.sh @@ -14,8 +14,9 @@ run_backend() { } GET() { - REQUEST_METHOD="GET" \ + export REQUEST_METHOD="GET" && run_backend "/repo.git/$1" && + unset REQUEST_METHOD && if ! grep "Status" act.out >act then printf "Status: 200 OK\r\n" >act @@ -25,9 +26,11 @@ GET() { } POST() { - REQUEST_METHOD="POST" \ - CONTENT_TYPE="application/x-$1-request" \ + export REQUEST_METHOD="POST" && + export CONTENT_TYPE="application/x-$1-request" && run_backend "/repo.git/$1" "$2" && + unset REQUEST_METHOD && + unset CONTENT_TYPE && if ! grep "Status" act.out >act then printf "Status: 200 OK\r\n" >act @@ -43,13 +46,15 @@ log_div() { . "$TEST_DIRECTORY"/t556x_common expect_aliased() { + export REQUEST_METHOD="GET" && if test $1 = 0; then - REQUEST_METHOD=GET run_backend "$2" + run_backend "$2" else - REQUEST_METHOD=GET run_backend "$2" && + run_backend "$2" && echo "fatal: '$2': aliased" >exp.err && test_cmp exp.err act.err fi + unset REQUEST_METHOD } test_expect_success 'http-backend blocks bad PATH_INFO' ' -- 1.6.6 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html