aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTarmigan Casebolt <tarmigan+git@gmail.com>2010-01-14 22:44:02 -0800
committerJunio C Hamano <gitster@pobox.com>2010-01-15 21:05:35 -0800
commite8189ee90e65094dd46a9e4ee6455d9efa90fa76 (patch)
tree1ae61ecefd5caacd85c2d4aa3bf002b143d08b5f
parentfd0a8c2e6428acb883bf4707de54b3e026c57455 (diff)
downloadgit-e8189ee90e65094dd46a9e4ee6455d9efa90fa76.tar.gz
git-e8189ee90e65094dd46a9e4ee6455d9efa90fa76.tar.xz
Test t5560: Fix test when run with dash
A command invocation preceded by variable assignments, i.e. VAR1=VAL1 VAR2=VAL2 ... command args are implemented by dash and ksh in such a way not to export these variables, and keep the values after the command finishes, when the command is a shell function. POSIX.1 "2.9.5 Function Definition Command" specifies this behaviour. Many shells however treat this construct the same way as they are calling external commands. They export the variables during the duration of command, and resets their values after command returns. The test relied on the behaviour of the latter kind. Reported-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Tarmigan Casebolt <tarmigan+git@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t5560-http-backend-noserver.sh15
1 files changed, 10 insertions, 5 deletions
diff --git a/t/t5560-http-backend-noserver.sh b/t/t5560-http-backend-noserver.sh
index 5f8c88e26..44885b850 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' '