From 264474f29a3f41124f98e955b41ebe4e36d14b53 Mon Sep 17 00:00:00 2001 From: Wincent Colaiuta Date: Sat, 8 Dec 2007 13:29:47 +0100 Subject: Add tests for pre-commit and commit-msg hooks As desired, these pass for git-commit.sh, fail for builtin-commit (prior to the fixes), and succeeded for builtin-commit (after the fixes). Signed-off-by: Wincent Colaiuta Signed-off-by: Junio C Hamano --- t/t7503-pre-commit-hook.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 t/t7503-pre-commit-hook.sh (limited to 't/t7503-pre-commit-hook.sh') diff --git a/t/t7503-pre-commit-hook.sh b/t/t7503-pre-commit-hook.sh new file mode 100755 index 000000000..c8097a72d --- /dev/null +++ b/t/t7503-pre-commit-hook.sh @@ -0,0 +1,64 @@ +#!/bin/sh + +test_description='pre-commit hook' + +. ./test-lib.sh + +test_expect_success "with no hook" \ + "echo 'foo' > file && + git add file && + git commit -m 'first'" + +test_expect_success "--no-verify with no hook" \ + "echo 'bar' > file && + git add file && + git commit --no-verify -m 'bar'" + +# now install hook that always succeeds +HOOKDIR="$(git rev-parse --git-dir)/hooks" +HOOK="$HOOKDIR/pre-commit" +mkdir -p "$HOOKDIR" +cat > "$HOOK" <> file && + git add file && + git commit -m 'more'" + +test_expect_success "--no-verify with succeeding hook" \ + "echo 'even more' >> file && + git add file && + git commit --no-verify -m 'even more'" + +# now a hook that fails +cat > "$HOOK" <> file && + git add file && + git commit -m 'another'" + +test_expect_success "--no-verify with failing hook" \ + "echo 'stuff' >> file && + git add file && + git commit --no-verify -m 'stuff'" + +chmod -x "$HOOK" +test_expect_success "with non-executable hook" \ + "echo 'content' >> file && + git add file && + git commit -m 'content'" + +test_expect_success "--no-verify with non-executable hook" \ + "echo 'more content' >> file && + git add file && + git commit --no-verify -m 'more content'" + +test_done -- cgit v1.2.1