summaryrefslogtreecommitdiff
path: root/t/t5402-post-merge-hook.sh
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2022-03-17 10:13:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2022-03-17 15:40:26 (GMT)
commit60a8a6bf6cf2cd7c8c0524c711df50dd5c2ace4f (patch)
tree2bc1ce029d60132c1b625445d00e4b77cea11ba0 /t/t5402-post-merge-hook.sh
parentd7ef03681fbcbd0314d91c71d60f79a51338690a (diff)
downloadgit-60a8a6bf6cf2cd7c8c0524c711df50dd5c2ace4f.zip
git-60a8a6bf6cf2cd7c8c0524c711df50dd5c2ace4f.tar.gz
git-60a8a6bf6cf2cd7c8c0524c711df50dd5c2ace4f.tar.bz2
tests: change "cat && chmod +x" to use "test_hook"
Refactor various test code to use the "test_hook" helper. This change: - Fixes the long-standing issues with those tests using "#!/bin/sh" instead of "#!$SHELL_PATH". Using "#!/bin/sh" here happened to work because this code was so simple that it e.g. worked on Solaris /bin/sh. - Removes the "mkdir .git/hooks" invocation, as explained in a preceding commit we'll rely on the default templates to create that directory for us. For the test in "t5402-post-merge-hook.sh" it's easier and more correct to unroll the for-loop into a test_expect_success, so let's do that. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5402-post-merge-hook.sh')
-rwxr-xr-xt/t5402-post-merge-hook.sh16
1 files changed, 9 insertions, 7 deletions
diff --git a/t/t5402-post-merge-hook.sh b/t/t5402-post-merge-hook.sh
index 3e5e19c..915af2d 100755
--- a/t/t5402-post-merge-hook.sh
+++ b/t/t5402-post-merge-hook.sh
@@ -25,13 +25,15 @@ test_expect_success setup '
GIT_DIR=clone2/.git git update-index --add a
'
-for clone in 1 2; do
- cat >clone${clone}/.git/hooks/post-merge <<'EOF'
-#!/bin/sh
-echo $@ >> $GIT_DIR/post-merge.args
-EOF
- chmod u+x clone${clone}/.git/hooks/post-merge
-done
+test_expect_success 'setup clone hooks' '
+ test_when_finished "rm -f hook" &&
+ cat >hook <<-\EOF &&
+ echo $@ >>$GIT_DIR/post-merge.args
+ EOF
+
+ test_hook --setup -C clone1 post-merge <hook &&
+ test_hook --setup -C clone2 post-merge <hook
+'
test_expect_success 'post-merge does not run for up-to-date ' '
GIT_DIR=clone1/.git git merge $commit0 &&