aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Jason A. Donenfeld <Jason@zx2c4.com>2013-04-09 05:18:21 (JST)
committerGravatar Jason A. Donenfeld <Jason@zx2c4.com>2013-04-09 05:53:07 (JST)
commitdd1f0e5f1b4de00c98fe7444915864b7271e09fe (patch)
tree5dd6c7885a2bd4f368fc83725ccaefdcd914fd3a
parent9844c60755cbad8000bca759741bfe113035a8eb (diff)
downloadcgit-dd1f0e5f1b4de00c98fe7444915864b7271e09fe.zip
cgit-dd1f0e5f1b4de00c98fe7444915864b7271e09fe.tar.gz
tests: Make sure that git does not access $HOME
With the latest changes to prevent git from accessing configuration files that it should not, it's important to be sure that we won't have further breakage in the future. Use strace to implement a test to make sure cgit does not access() anything built from $HOME. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rwxr-xr-xtests/t0109-gitconfig.sh25
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
3test_description='Ensure that git does not access $HOME'
4. ./setup.sh
5
6test -n "$(which strace 2>/dev/null)" || {
7 skip_all='Skipping access validation tests: strace not found'
8 test_done
9 exit
10}
11
12test_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
25test_done