@matheusbsbs / matheus-bagliano / commits / 119c8eeede
Fork 0

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>

Jeff King committed Feb 25, 2009 at 03:32 UTC 119c8eeede81489b2ce8b26ae7dcb47290e257eb
3 files changed +48
Makefile
+1
@@ -1363,6 +1363,7 @@ GIT-CFLAGS: .FORCE-GIT-CFLAGS
1363 GIT-BUILD-OPTIONS: .FORCE-GIT-BUILD-OPTIONS
1364 @echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
1365 @echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
1366 + @echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
1367
1368 ### Detect Tck/Tk interpreter path changes
1369 ifndef NO_TCLTK
t/t5540-http-push.sh
+1
@@ -11,6 +11,7 @@ This test runs various sanity checks on http-push.'
11
12 ROOT_PATH="$PWD"
13 LIB_HTTPD_DAV=t
14 +LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5540'}
15
16 if git http-push > /dev/null 2>&1 || [ $? -eq 128 ]
17 then
t/t5550-http-fetch.sh new
+46
@@ -0,0 +1,46 @@
1 +#!/bin/sh
2 +
3 +test_description='test fetching over http'
4 +. ./test-lib.sh
5 +
6 +if test -n "$NO_CURL"; then
7 + say 'skipping test, git built without http support'
8 + test_done
9 +fi
10 +
11 +. "$TEST_DIRECTORY"/lib-httpd.sh
12 +LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5550'}
13 +start_httpd
14 +
15 +test_expect_success 'setup repository' '
16 + echo content >file &&
17 + git add file &&
18 + git commit -m one
19 +'
20 +
21 +test_expect_success 'create http-accessible bare repository' '
22 + mkdir "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
23 + (cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
24 + git --bare init &&
25 + echo "exec git update-server-info" >hooks/post-update &&
26 + chmod +x hooks/post-update
27 + ) &&
28 + git remote add public "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
29 + git push public master:master
30 +'
31 +
32 +test_expect_success 'clone http repository' '
33 + git clone $HTTPD_URL/repo.git clone &&
34 + test_cmp file clone/file
35 +'
36 +
37 +test_expect_success 'fetch changes via http' '
38 + echo content >>file &&
39 + git commit -a -m two &&
40 + git push public
41 + (cd clone && git pull) &&
42 + test_cmp file clone/file
43 +'
44 +
45 +stop_httpd
46 +test_done