diff options
Diffstat (limited to 'tests/t0109-gitconfig.sh')
-rwxr-xr-x | tests/t0109-gitconfig.sh | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/tests/t0109-gitconfig.sh b/tests/t0109-gitconfig.sh index f64e691..24b2942 100755 --- a/tests/t0109-gitconfig.sh +++ b/tests/t0109-gitconfig.sh | |||
@@ -9,17 +9,33 @@ test -n "$(which strace 2>/dev/null)" || { | |||
9 | exit | 9 | exit |
10 | } | 10 | } |
11 | 11 | ||
12 | test_expect_success 'no access to $HOME' ' | 12 | test_no_home_access () { |
13 | non_existant_path="/path/to/some/place/that/does/not/possibly/exist" | 13 | non_existant_path="/path/to/some/place/that/does/not/possibly/exist" |
14 | while test -d "$non_existant_path"; do | 14 | while test -d "$non_existant_path"; do |
15 | non_existant_path="$non_existant_path/$(date +%N)" | 15 | non_existant_path="$non_existant_path/$(date +%N)" |
16 | done | 16 | done && |
17 | strace \ | 17 | strace \ |
18 | -E HOME="$non_existant_path" \ | 18 | -E HOME="$non_existant_path" \ |
19 | -E CGIT_CONFIG="$PWD/cgitrc" \ | 19 | -E CGIT_CONFIG="$PWD/cgitrc" \ |
20 | -E QUERY_STRING="url=foo/commit" \ | 20 | -E QUERY_STRING="url=$1" \ |
21 | -e access -f -o strace.out cgit && | 21 | -e access -f -o strace.out cgit && |
22 | test_must_fail grep "$non_existant_path" strace.out | 22 | test_must_fail grep "$non_existant_path" strace.out |
23 | ' | 23 | } |
24 | |||
25 | function test_no_home_access_success() { | ||
26 | test_expect_success "do not access \$HOME: $1" " | ||
27 | test_no_home_access '$1' | ||
28 | " | ||
29 | } | ||
30 | |||
31 | test_no_home_access_success | ||
32 | test_no_home_access_success foo | ||
33 | test_no_home_access_success foo/refs | ||
34 | test_no_home_access_success foo/log | ||
35 | test_no_home_access_success foo/tree | ||
36 | test_no_home_access_success foo/tree/file-1 | ||
37 | test_no_home_access_success foo/commit | ||
38 | test_no_home_access_success foo/diff | ||
39 | test_no_home_access_success foo/patch | ||
24 | 40 | ||
25 | test_done | 41 | test_done |