diff options
author | Jeff King <peff@peff.net> | 2009-02-25 03:32:09 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-02-26 00:49:44 -0800 |
commit | 119c8eeede81489b2ce8b26ae7dcb47290e257eb (patch) | |
tree | 1d4150f0f0f7bbfc98015e140a5c1e5f4b818bf7 /t/t5550-http-fetch.sh | |
parent | 75318a3bad4b7a25f617217891bfbcec26a9161a (diff) | |
download | git-119c8eeede81489b2ce8b26ae7dcb47290e257eb.tar.gz |
add basic http clone/fetch tests
This was mostly being tested implicitly by the "http push"
tests. But making a separate test script means that:
- we will run fetch tests even when http pushing support
is not built
- when there are failures on fetching, they are easier to
see and isolate, as they are not in the middle of push
tests
This script defaults to running the webserver on port 5550,
and puts the original t5540 on port 5540, so that the two
can be run simultaneously without conflict (but both still
respect an externally set LIB_HTTPD_PORT).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5550-http-fetch.sh')
-rwxr-xr-x | t/t5550-http-fetch.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/t/t5550-http-fetch.sh b/t/t5550-http-fetch.sh new file mode 100755 index 0000000000..b6e6ec9607 --- /dev/null +++ b/t/t5550-http-fetch.sh @@ -0,0 +1,46 @@ +#!/bin/sh + +test_description='test fetching over http' +. ./test-lib.sh + +if test -n "$NO_CURL"; then + say 'skipping test, git built without http support' + test_done +fi + +. "$TEST_DIRECTORY"/lib-httpd.sh +LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5550'} +start_httpd + +test_expect_success 'setup repository' ' + echo content >file && + git add file && + git commit -m one +' + +test_expect_success 'create http-accessible bare repository' ' + mkdir "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && + (cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && + git --bare init && + echo "exec git update-server-info" >hooks/post-update && + chmod +x hooks/post-update + ) && + git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" && + git push public master:master +' + +test_expect_success 'clone http repository' ' + git clone $HTTPD_URL/repo.git clone && + test_cmp file clone/file +' + +test_expect_success 'fetch changes via http' ' + echo content >>file && + git commit -a -m two && + git push public + (cd clone && git pull) && + test_cmp file clone/file +' + +stop_httpd +test_done |