From: Tarmigan Casebolt Date: Sat, 2 Jan 2010 21:38:05 +0000 (-0800) Subject: Smart-http tests: Improve coverage in test t5560 X-Git-Tag: v1.7.0-rc0~93^2~3 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=43015774c3a697abf8efee28e36238fc78cf45d1;p=git.git 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 Signed-off-by: Tarmigan Casebolt Signed-off-by: Junio C Hamano --- 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 <