]>
Commit | Line | Data |
---|---|---|
faa4bc35 CB |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2008 Clemens Buchacher <drizzd@aon.at> | |
4 | # | |
5 | ||
6 | test_description='test http-push | |
7 | ||
8 | This test runs various sanity checks on http-push.' | |
9 | ||
10 | . ./test-lib.sh | |
11 | ||
12 | ROOT_PATH="$PWD" | |
13 | LIB_HTTPD_DAV=t | |
14 | ||
96086262 MH |
15 | if git http-push > /dev/null 2>&1 || [ $? -eq 128 ] |
16 | then | |
17 | say "skipping test, USE_CURL_MULTI is not defined" | |
18 | test_done | |
19 | exit | |
20 | fi | |
21 | ||
bfdbee98 | 22 | . "$TEST_DIRECTORY"/lib-httpd.sh |
faa4bc35 CB |
23 | |
24 | if ! start_httpd >&3 2>&4 | |
25 | then | |
26 | say "skipping test, web server setup failed" | |
27 | test_done | |
28 | exit | |
29 | fi | |
30 | ||
31 | test_expect_success 'setup remote repository' ' | |
32 | cd "$ROOT_PATH" && | |
33 | mkdir test_repo && | |
34 | cd test_repo && | |
35 | git init && | |
36 | : >path1 && | |
37 | git add path1 && | |
38 | test_tick && | |
39 | git commit -m initial && | |
40 | cd - && | |
41 | git clone --bare test_repo test_repo.git && | |
42 | cd test_repo.git && | |
43 | git --bare update-server-info && | |
7dce9918 | 44 | mv hooks/post-update.sample hooks/post-update && |
faa4bc35 | 45 | cd - && |
13b5481e | 46 | mv test_repo.git "$HTTPD_DOCUMENT_ROOT_PATH" |
faa4bc35 | 47 | ' |
3b2eb186 | 48 | |
faa4bc35 CB |
49 | test_expect_success 'clone remote repository' ' |
50 | cd "$ROOT_PATH" && | |
51 | git clone $HTTPD_URL/test_repo.git test_repo_clone | |
52 | ' | |
53 | ||
8ee09acd | 54 | test_expect_failure 'push to remote repository with packed refs' ' |
faa4bc35 CB |
55 | cd "$ROOT_PATH"/test_repo_clone && |
56 | : >path2 && | |
57 | git add path2 && | |
58 | test_tick && | |
59 | git commit -m path2 && | |
8ee09acd | 60 | HEAD=$(git rev-parse --verify HEAD) && |
b5cd2d1e | 61 | git push && |
8ee09acd JS |
62 | (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git && |
63 | test $HEAD = $(git rev-parse --verify HEAD)) | |
faa4bc35 CB |
64 | ' |
65 | ||
8ee09acd JS |
66 | test_expect_success ' push to remote repository with unpacked refs' ' |
67 | (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git && | |
68 | rm packed-refs && | |
69 | git update-ref refs/heads/master \ | |
70 | 0c973ae9bd51902a28466f3850b543fa66a6aaf4) && | |
71 | git push && | |
72 | (cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git && | |
73 | test $HEAD = $(git rev-parse --verify HEAD)) | |
74 | ' | |
75 | ||
76 | test_expect_success 'create and delete remote branch' ' | |
faa4bc35 CB |
77 | cd "$ROOT_PATH"/test_repo_clone && |
78 | git checkout -b dev && | |
79 | : >path3 && | |
80 | git add path3 && | |
81 | test_tick && | |
82 | git commit -m dev && | |
83 | git push origin dev && | |
84 | git fetch && | |
85 | git push origin :dev && | |
86 | git branch -d -r origin/dev && | |
87 | git fetch && | |
d492b31c | 88 | test_must_fail git show-ref --verify refs/remotes/origin/dev |
faa4bc35 CB |
89 | ' |
90 | ||
466ddf90 JS |
91 | test_expect_success 'MKCOL sends directory names with trailing slashes' ' |
92 | ||
93 | ! grep "\"MKCOL.*[^/] HTTP/[^ ]*\"" < "$HTTPD_ROOT_PATH"/access.log | |
94 | ||
95 | ' | |
96 | ||
faa4bc35 CB |
97 | stop_httpd |
98 | ||
99 | test_done |