X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/dd1f0e5f1b4de00c98fe7444915864b7271e09fe..6dbbffe01533a91c79c4497c80f46af8e1581e25:/tests/t0109-gitconfig.sh diff --git a/tests/t0109-gitconfig.sh b/tests/t0109-gitconfig.sh index cdd570b..189ef28 100755 --- a/tests/t0109-gitconfig.sh +++ b/tests/t0109-gitconfig.sh @@ -9,17 +9,40 @@ test -n "$(which strace 2>/dev/null)" || { exit } -test_expect_success 'no access to $HOME' ' - non_existant_path="/path/to/some/place/that/does/not/possibly/exist" - while test -d "$non_existant_path"; do - non_existant_path="$non_existant_path/$(date +%N)" - done +strace true 2>/dev/null || { + skip_all='Skipping access validation tests: strace not functional' + test_done + exit +} + +test_no_home_access () { + non_existent_path="/path/to/some/place/that/does/not/possibly/exist" + while test -d "$non_existent_path"; do + non_existent_path="$non_existent_path/$(date +%N)" + done && strace \ - -E HOME="$non_existant_path" \ + -E HOME="$non_existent_path" \ -E CGIT_CONFIG="$PWD/cgitrc" \ - -E QUERY_STRING="url=foo/commit" \ - -e access -f -o strace.out cgit - test_must_fail grep "$non_existant_path" strace.out -' + -E QUERY_STRING="url=$1" \ + -e access -f -o strace.out cgit && + ! grep "$non_existent_path" strace.out +} + +test_no_home_access_success() { + test_expect_success "do not access \$HOME: $1" " + test_no_home_access '$1' + " +} + +test_no_home_access_success +test_no_home_access_success foo +test_no_home_access_success foo/refs +test_no_home_access_success foo/log +test_no_home_access_success foo/tree +test_no_home_access_success foo/tree/file-1 +test_no_home_access_success foo/commit +test_no_home_access_success foo/diff +test_no_home_access_success foo/patch +test_no_home_access_success foo/snapshot/master.tar.gz test_done