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>
这个提交包含在:
Jason A. Donenfeld 2013-04-08 22:18:21 +02:00
父节点 9844c60755
当前提交 dd1f0e5f1b
共有 1 个文件被更改,包括 25 次插入0 次删除

25
tests/t0109-gitconfig.sh 可执行文件
查看文件

@ -0,0 +1,25 @@
#!/bin/sh
test_description='Ensure that git does not access $HOME'
. ./setup.sh
test -n "$(which strace 2>/dev/null)" || {
skip_all='Skipping access validation tests: strace not found'
test_done
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 \
-E HOME="$non_existant_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
'
test_done