#!/bin/sh # Checks the post-receive hooks under custom/hooks. The cache hook runs from a # copy pointed at a cache in the trash directory, since the shipped one names # the system's cache root, and the age hook runs inside bare repositories the # way git runs it after a push. test_description='Check the shipped post-receive hooks' CGIT_TEST_NO_CREATE_REPOS=YesPlease . ./setup.sh HOOK_DIRECTORY="$TEST_OUTPUT_DIRECTORY/../custom/hooks" test_expect_success 'the cache hook clears the slots and keeps the locks' ' mkdir cache && echo page >cache/0123abcd && echo writer >cache/0123abcd.lock && sed "s|^cache_root=.*|cache_root='\''$PWD/cache'\''|" \ "$HOOK_DIRECTORY/post-receive.cgit-cache" >cache-hook && sh cache-hook && test_path_is_missing cache/0123abcd && test_path_is_file cache/0123abcd.lock ' test_expect_success SANITY 'the cache hook shows a pusher no error' ' echo page >cache/89abcdef && test_when_finished "chmod 755 cache" && chmod 555 cache && sh cache-hook 2>err && test_path_is_file cache/89abcdef && test_must_be_empty err ' test_done