git/t/t7520-ignored-hook-warning.sh
Ævar Arnfjörð Bjarmason 66865d12a0 tests: extend "test_hook" for "rm" and "chmod -x", convert "$HOOK"
Extend the "test_hook" function to take options to disable and remove
hooks. Using the wrapper instead of getting the path and running
"chmod -x" or "rm" will make it easier to eventually emulate the same
behavior with config-based hooks.

Not all of these tests need that new mode, but since the rest are
either closely related or use the same "$HOOK" pattern let's convert
them too.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2022-03-17 14:42:14 -07:00

39 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
test_description='ignored hook warning'
. ./test-lib.sh
test_expect_success setup '
test_hook --setup pre-commit <<-\EOF
exit 0
EOF
'
test_expect_success 'no warning if hook is not ignored' '
git commit --allow-empty -m "more" 2>message &&
test_i18ngrep ! -e "hook was ignored" message
'
test_expect_success POSIXPERM 'warning if hook is ignored' '
test_hook --disable pre-commit &&
git commit --allow-empty -m "even more" 2>message &&
test_i18ngrep -e "hook was ignored" message
'
test_expect_success POSIXPERM 'no warning if advice.ignoredHook set to false' '
test_config advice.ignoredHook false &&
test_hook --disable pre-commit &&
git commit --allow-empty -m "even more" 2>message &&
test_i18ngrep ! -e "hook was ignored" message
'
test_expect_success 'no warning if unset advice.ignoredHook and hook removed' '
test_hook --remove pre-commit &&
test_unconfig advice.ignoredHook &&
git commit --allow-empty -m "even more" 2>message &&
test_i18ngrep ! -e "hook was ignored" message
'
test_done