aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTarmigan Casebolt <tarmigan+git@gmail.com>2010-01-02 13:38:05 -0800
committerJunio C Hamano <gitster@pobox.com>2010-01-06 01:16:54 -0800
commit43015774c3a697abf8efee28e36238fc78cf45d1 (patch)
tree447010a8a0d44c40b78dddbde2891a5a3077075d
parent8b2bd7cdacf71260dbc954316af2bed8e076c182 (diff)
downloadgit-43015774c3a697abf8efee28e36238fc78cf45d1.tar.gz
git-43015774c3a697abf8efee28e36238fc78cf45d1.tar.xz
Smart-http tests: Improve coverage in test t5560
Commit 34b6cb8bb ("http-backend: Protect GIT_PROJECT_ROOT from /../ requests") added the path_info helper function to test t5560 but did not use it. We should use it as it provides another level of error checking. The /etc/.../passwd case is one that is not special (and the test fails for reasons other than being aliased), so we remove that test case. Also rename the function from 'path_info' to 'expect_aliased'. Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Tarmigan Casebolt <tarmigan+git@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t5560-http-backend.sh21
1 files changed, 10 insertions, 11 deletions
diff --git a/t/t5560-http-backend.sh b/t/t5560-http-backend.sh
index 604ff4fe9..415a3683d 100755
--- a/t/t5560-http-backend.sh
+++ b/t/t5560-http-backend.sh
@@ -162,15 +162,15 @@ test_expect_success 'http.receivepack false' '
run_backend() {
REQUEST_METHOD=GET \
GIT_PROJECT_ROOT="$HTTPD_DOCUMENT_ROOT_PATH" \
- PATH_INFO="$2" \
+ PATH_INFO="$1" \
git http-backend >act.out 2>act.err
}
-path_info() {
+expect_aliased() {
if test $1 = 0; then
run_backend "$2"
else
- test_must_fail run_backend "$2" &&
+ run_backend "$2" &&
echo "fatal: '$2': aliased" >exp.err &&
test_cmp exp.err act.err
fi
@@ -179,15 +179,14 @@ path_info() {
test_expect_success 'http-backend blocks bad PATH_INFO' '
config http.getanyfile true &&
- run_backend 0 /repo.git/HEAD &&
+ expect_aliased 0 /repo.git/HEAD &&
- run_backend 1 /repo.git/../HEAD &&
- run_backend 1 /../etc/passwd &&
- run_backend 1 ../etc/passwd &&
- run_backend 1 /etc//passwd &&
- run_backend 1 /etc/./passwd &&
- run_backend 1 /etc/.../passwd &&
- run_backend 1 //domain/data.txt
+ expect_aliased 1 /repo.git/../HEAD &&
+ expect_aliased 1 /../etc/passwd &&
+ expect_aliased 1 ../etc/passwd &&
+ expect_aliased 1 /etc//passwd &&
+ expect_aliased 1 /etc/./passwd &&
+ expect_aliased 1 //domain/data.txt
'
cat >exp <<EOF