Diff options
authorBryce Kwon <bryce@brycekwon.com>
committerBryce Kwon <bryce@brycekwon.com>
commit
parent
tree
download
Keep the age hook quiet when it cannot write
Diffstat (limited to 'tests/t0507-hooks.sh')
-rwxr-xr-xtests/t0507-hooks.sh23
1 file changed, 23 insertions, 0 deletions
diff --git a/tests/t0507-hooks.sh b/tests/t0507-hooks.sh
index 8a45f81..9211f8b 100755
--- a/tests/t0507-hooks.sh
+++ b/tests/t0507-hooks.sh
@@ -115,6 +115,29 @@ do
"
done
+for shell in $shells
+do
+ test_expect_success SANITY "the age hook shows a pusher no error under $shell" "
+ echo kept >kept &&
+ cp kept plain.git/info/web/last-modified &&
+ test_when_finished 'chmod 755 plain.git/info/web' &&
+ chmod 555 plain.git/info/web &&
+ (cd plain.git && $shell \"\$HOOK_DIRECTORY/post-receive.cgit-age\" 2>../err) &&
+ test_must_be_empty err &&
+ test_cmp kept plain.git/info/web/last-modified
+ "
+done
+
+test_expect_success SANITY 'the age hook shows no error when it cannot make its directory' '
+ git init -q --bare closed.git &&
+ git -C work push -q ../closed.git HEAD:refs/heads/main &&
+ test_when_finished "chmod 755 closed.git/info" &&
+ chmod 555 closed.git/info &&
+ (cd closed.git && sh "$HOOK_DIRECTORY/post-receive.cgit-age" 2>../err) &&
+ test_must_be_empty err &&
+ test_path_is_missing closed.git/info/web
+'
+
# git keeps a shared repository group writable whatever the pusher's umask,
# and the next member to push has to be able to replace the file.
test_expect_success SANITY 'the age hook keeps a shared directory group writable' '