diff options
Diffstat (limited to 't/t5540-http-push.sh')
-rwxr-xr-x | t/t5540-http-push.sh | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/t/t5540-http-push.sh b/t/t5540-http-push.sh index 7372439164..c236b5e83b 100755 --- a/t/t5540-http-push.sh +++ b/t/t5540-http-push.sh @@ -12,7 +12,14 @@ This test runs various sanity checks on http-push.' ROOT_PATH="$PWD" LIB_HTTPD_DAV=t -. ../lib-httpd.sh +if git http-push > /dev/null 2>&1 || [ $? -eq 128 ] +then + say "skipping test, USE_CURL_MULTI is not defined" + test_done + exit +fi + +. "$TEST_DIRECTORY"/lib-httpd.sh if ! start_httpd >&3 2>&4 then @@ -34,23 +41,36 @@ test_expect_success 'setup remote repository' ' git clone --bare test_repo test_repo.git && cd test_repo.git && git --bare update-server-info && - chmod +x hooks/post-update && + mv hooks/post-update.sample hooks/post-update && cd - && - mv test_repo.git $HTTPD_DOCUMENT_ROOT_PATH + mv test_repo.git "$HTTPD_DOCUMENT_ROOT_PATH" ' - + test_expect_success 'clone remote repository' ' cd "$ROOT_PATH" && git clone $HTTPD_URL/test_repo.git test_repo_clone ' -test_expect_success 'push to remote repository' ' +test_expect_failure 'push to remote repository with packed refs' ' cd "$ROOT_PATH"/test_repo_clone && : >path2 && git add path2 && test_tick && git commit -m path2 && - git push + HEAD=$(git rev-parse --verify HEAD) && + git push && + (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git && + test $HEAD = $(git rev-parse --verify HEAD)) +' + +test_expect_success ' push to remote repository with unpacked refs' ' + (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git && + rm packed-refs && + git update-ref refs/heads/master \ + 0c973ae9bd51902a28466f3850b543fa66a6aaf4) && + git push && + (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git && + test $HEAD = $(git rev-parse --verify HEAD)) ' test_expect_success 'create and delete remote branch' ' @@ -65,7 +85,13 @@ test_expect_success 'create and delete remote branch' ' git push origin :dev && git branch -d -r origin/dev && git fetch && - ! git show-ref --verify refs/remotes/origin/dev + test_must_fail git show-ref --verify refs/remotes/origin/dev +' + +test_expect_success 'MKCOL sends directory names with trailing slashes' ' + + ! grep "\"MKCOL.*[^/] HTTP/[^ ]*\"" < "$HTTPD_ROOT_PATH"/access.log + ' stop_httpd |