]> git.cameronkatri.com Git - cgit.git/blobdiff - tests/t0109-gitconfig.sh
git: update to v2.29.0
[cgit.git] / tests / t0109-gitconfig.sh
index cdd570b02d6173c1da0b88314545bd25b5869e1d..189ef281662007a61aea57c0a0271ce5f274357e 100755 (executable)
@@ -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