diff options
| -rwxr-xr-x | tests/t0109-gitconfig.sh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/t0109-gitconfig.sh b/tests/t0109-gitconfig.sh new file mode 100755 index 0000000..cdd570b --- /dev/null +++ b/tests/t0109-gitconfig.sh | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | test_description='Ensure that git does not access $HOME' | ||
| 4 | . ./setup.sh | ||
| 5 | |||
| 6 | test -n "$(which strace 2>/dev/null)" || { | ||
| 7 | skip_all='Skipping access validation tests: strace not found' | ||
| 8 | test_done | ||
| 9 | exit | ||
| 10 | } | ||
| 11 | |||
| 12 | test_expect_success 'no access to $HOME' ' | ||
| 13 | non_existant_path="/path/to/some/place/that/does/not/possibly/exist" | ||
| 14 | while test -d "$non_existant_path"; do | ||
| 15 | non_existant_path="$non_existant_path/$(date +%N)" | ||
| 16 | done | ||
| 17 | strace \ | ||
| 18 | -E HOME="$non_existant_path" \ | ||
| 19 | -E CGIT_CONFIG="$PWD/cgitrc" \ | ||
| 20 | -E QUERY_STRING="url=foo/commit" \ | ||
| 21 | -e access -f -o strace.out cgit | ||
| 22 | test_must_fail grep "$non_existant_path" strace.out | ||
| 23 | ' | ||
| 24 | |||
| 25 | test_done | ||
