Skip to content

Commit

Permalink
t5500: add test cases for diag-url
Browse files Browse the repository at this point in the history
Add test cases using git fetch-pack --diag-url:

- parse out host and path for URLs with a scheme (git:// file:// ssh://)
- parse host names embedded by [] correctly
- extract the port number, if present
- separate URLs like "file" (which are local)
  from URLs like "host:repo" which should use ssh

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Torsten Bögershausen authored and Junio C Hamano committed Dec 9, 2013
1 parent 5610b7c commit 854aeb7
Showing 1 changed file with 59 additions and 0 deletions.
59 changes: 59 additions & 0 deletions t/t5500-fetch-pack.sh
Original file line number Diff line number Diff line change
Expand Up @@ -531,5 +531,64 @@ test_expect_success 'shallow fetch with tags does not break the repository' '
git fsck
)
'
check_prot_path () {
cat >expected <<-EOF &&
Diag: url=$1
Diag: protocol=$2
Diag: path=$3
EOF
git fetch-pack --diag-url "$1" | grep -v hostandport= >actual &&
test_cmp expected actual
}

check_prot_host_path () {
cat >expected <<-EOF &&
Diag: url=$1
Diag: protocol=$2
Diag: hostandport=$3
Diag: path=$4
EOF
git fetch-pack --diag-url "$1" >actual &&
test_cmp expected actual
}

for r in repo re:po re/po
do
# git or ssh with scheme
for p in "ssh+git" "git+ssh" git ssh
do
for h in host host:12 [::1] [::1]:23
do
case "$p" in
*ssh*)
hh=$(echo $h | tr -d "[]")
pp=ssh
;;
*)
hh=$h
pp=$p
;;
esac
test_expect_success "fetch-pack --diag-url $p://$h/$r" '
check_prot_host_path $p://$h/$r $pp "$hh" "/$r"
'
# "/~" -> "~" conversion
test_expect_success "fetch-pack --diag-url $p://$h/~$r" '
check_prot_host_path $p://$h/~$r $pp "$hh" "~$r"
'
done
done
# file with scheme
for p in file
do
test_expect_success "fetch-pack --diag-url $p://$h/$r" '
check_prot_path $p://$h/$r $p "/$r"
'
# No "/~" -> "~" conversion for file
test_expect_success "fetch-pack --diag-url $p://$h/~$r" '
check_prot_path $p://$h/~$r $p "/~$r"
'
done
done

test_done

0 comments on commit 854aeb7

Please sign in to comment.