Git fork
1test_expect_success "setup proc-receive hook (ng, no message, $PROTOCOL)" '
2 test_hook -C "$upstream" --clobber proc-receive <<-\EOF
3 printf >&2 "# proc-receive hook\n"
4 test-tool proc-receive -v \
5 -r "ng refs/for/main/topic"
6 EOF
7'
8
9# Refs of upstream : main(A)
10# Refs of workbench: main(A) tags/v123
11# git push : refs/for/main/topic
12test_expect_success "proc-receive: fail to update (ng, no message, $PROTOCOL)" '
13 test_must_fail git -C workbench push origin \
14 HEAD:refs/for/main/topic \
15 >out-$test_count 2>&1 &&
16 make_user_friendly_and_stable_output <out-$test_count >actual &&
17 format_and_save_expect <<-EOF &&
18 > remote: # pre-receive hook Z
19 > remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic Z
20 > remote: # proc-receive hook Z
21 > remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic Z
22 > remote: proc-receive> ng refs/for/main/topic Z
23 > To <URL/of/upstream.git>
24 > ! [remote rejected] HEAD -> refs/for/main/topic (failed)
25 EOF
26 test_cmp expect actual &&
27
28 test_cmp_refs -C "$upstream" <<-EOF
29 <COMMIT-A> refs/heads/main
30 EOF
31'
32
33test_expect_success "setup proc-receive hook (ng message, $PROTOCOL)" '
34 test_hook -C "$upstream" --clobber proc-receive <<-\EOF
35 printf >&2 "# proc-receive hook\n"
36 test-tool proc-receive -v \
37 -r "ng refs/for/main/topic error msg"
38 EOF
39'
40
41# Refs of upstream : main(A)
42# Refs of workbench: main(A) tags/v123
43# git push : refs/for/main/topic
44test_expect_success "proc-receive: fail to update (ng, with message, $PROTOCOL)" '
45 test_must_fail git -C workbench push origin \
46 HEAD:refs/for/main/topic \
47 >out-$test_count 2>&1 &&
48 make_user_friendly_and_stable_output <out-$test_count >actual &&
49 format_and_save_expect <<-EOF &&
50 > remote: # pre-receive hook Z
51 > remote: pre-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic Z
52 > remote: # proc-receive hook Z
53 > remote: proc-receive< <ZERO-OID> <COMMIT-A> refs/for/main/topic Z
54 > remote: proc-receive> ng refs/for/main/topic error msg Z
55 > To <URL/of/upstream.git>
56 > ! [remote rejected] HEAD -> refs/for/main/topic (error msg)
57 EOF
58 test_cmp expect actual &&
59
60 test_cmp_refs -C "$upstream" <<-EOF
61 <COMMIT-A> refs/heads/main
62 EOF
63'