diff options
author | John Keeping <john@keeping.me.uk> | 2013-04-15 01:07:41 (JST) |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2013-04-15 23:59:06 (JST) |
commit | 64f30688faef0876641a8e0e4f26b5c673c291d4 (patch) | |
tree | dfa3427b56a67f3f5bf8b893e41801272ae878d6 | |
parent | a8d613efdc827a400fee89fc73e34c2666e37be6 (diff) | |
download | cgit-64f30688faef0876641a8e0e4f26b5c673c291d4.zip cgit-64f30688faef0876641a8e0e4f26b5c673c291d4.tar.gz |
t0109: test more URLs
In order to ensure that we don't access $HOME at some point after
initial startup when rendering a specific view, run the strace test on a
range of different pages.
This ensures that we don't end up reading a configuration later for some
specific view.
Signed-off-by: John Keeping <john@keeping.me.uk>
-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 |