]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | ||
3 | test_description='Test the core.hooksPath configuration variable' | |
4 | ||
5 | . ./test-lib.sh | |
6 | ||
7 | test_expect_success 'set up a pre-commit hook in core.hooksPath' ' | |
8 | >actual && | |
9 | mkdir -p .git/custom-hooks && | |
10 | write_script .git/custom-hooks/pre-commit <<-\EOF && | |
11 | echo CUSTOM >>actual | |
12 | EOF | |
13 | test_hook --setup pre-commit <<-\EOF | |
14 | echo NORMAL >>actual | |
15 | EOF | |
16 | ' | |
17 | ||
18 | test_expect_success 'Check that various forms of specifying core.hooksPath work' ' | |
19 | test_commit no_custom_hook && | |
20 | git config core.hooksPath .git/custom-hooks && | |
21 | test_commit have_custom_hook && | |
22 | git config core.hooksPath .git/custom-hooks/ && | |
23 | test_commit have_custom_hook_trailing_slash && | |
24 | git config core.hooksPath "$PWD/.git/custom-hooks" && | |
25 | test_commit have_custom_hook_abs_path && | |
26 | git config core.hooksPath "$PWD/.git/custom-hooks/" && | |
27 | test_commit have_custom_hook_abs_path_trailing_slash && | |
28 | cat >expect <<-\EOF && | |
29 | NORMAL | |
30 | CUSTOM | |
31 | CUSTOM | |
32 | CUSTOM | |
33 | CUSTOM | |
34 | EOF | |
35 | test_cmp expect actual | |
36 | ' | |
37 | ||
38 | test_expect_success 'git rev-parse --git-path hooks' ' | |
39 | git config core.hooksPath .git/custom-hooks && | |
40 | git rev-parse --git-path hooks/abc >actual && | |
41 | test .git/custom-hooks/abc = "$(cat actual)" | |
42 | ' | |
43 | ||
44 | test_done |