blob: ff424685db7c0ac0f4682b5db357e07944ef7dcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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