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>
This commit is contained in:
parent
8b2bd7cdac
commit
43015774c3
@ -162,15 +162,15 @@ test_expect_success 'http.receivepack false' '
|
|||||||
run_backend() {
|
run_backend() {
|
||||||
REQUEST_METHOD=GET \
|
REQUEST_METHOD=GET \
|
||||||
GIT_PROJECT_ROOT="$HTTPD_DOCUMENT_ROOT_PATH" \
|
GIT_PROJECT_ROOT="$HTTPD_DOCUMENT_ROOT_PATH" \
|
||||||
PATH_INFO="$2" \
|
PATH_INFO="$1" \
|
||||||
git http-backend >act.out 2>act.err
|
git http-backend >act.out 2>act.err
|
||||||
}
|
}
|
||||||
|
|
||||||
path_info() {
|
expect_aliased() {
|
||||||
if test $1 = 0; then
|
if test $1 = 0; then
|
||||||
run_backend "$2"
|
run_backend "$2"
|
||||||
else
|
else
|
||||||
test_must_fail run_backend "$2" &&
|
run_backend "$2" &&
|
||||||
echo "fatal: '$2': aliased" >exp.err &&
|
echo "fatal: '$2': aliased" >exp.err &&
|
||||||
test_cmp exp.err act.err
|
test_cmp exp.err act.err
|
||||||
fi
|
fi
|
||||||
@ -179,15 +179,14 @@ path_info() {
|
|||||||
test_expect_success 'http-backend blocks bad PATH_INFO' '
|
test_expect_success 'http-backend blocks bad PATH_INFO' '
|
||||||
config http.getanyfile true &&
|
config http.getanyfile true &&
|
||||||
|
|
||||||
run_backend 0 /repo.git/HEAD &&
|
expect_aliased 0 /repo.git/HEAD &&
|
||||||
|
|
||||||
run_backend 1 /repo.git/../HEAD &&
|
expect_aliased 1 /repo.git/../HEAD &&
|
||||||
run_backend 1 /../etc/passwd &&
|
expect_aliased 1 /../etc/passwd &&
|
||||||
run_backend 1 ../etc/passwd &&
|
expect_aliased 1 ../etc/passwd &&
|
||||||
run_backend 1 /etc//passwd &&
|
expect_aliased 1 /etc//passwd &&
|
||||||
run_backend 1 /etc/./passwd &&
|
expect_aliased 1 /etc/./passwd &&
|
||||||
run_backend 1 /etc/.../passwd &&
|
expect_aliased 1 //domain/data.txt
|
||||||
run_backend 1 //domain/data.txt
|
|
||||||
'
|
'
|
||||||
|
|
||||||
cat >exp <<EOF
|
cat >exp <<EOF
|
||||||
|
Loading…
Reference in New Issue
Block a user