Style fixes for pre-commit hook tests
As pointed out by Junio on the mailing list, surrounding tests in double quotes can lead to bugs wherein variables get substituted away, so this isn't just style churn but important to prevent others from looking at these tests in the future and thinking that this is "the way" that Git tests should be written. Signed-off-by: Wincent Colaiuta <win@wincent.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
80f86605ba
commit
cf7e147cce
@ -4,15 +4,21 @@ test_description='pre-commit hook'
|
|||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
test_expect_success "with no hook" \
|
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 "foo" > file &&
|
||||||
"echo 'bar' > file &&
|
git add file &&
|
||||||
git add file &&
|
git commit -m "first"
|
||||||
git commit --no-verify -m 'bar'"
|
|
||||||
|
'
|
||||||
|
|
||||||
|
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
|
# now install hook that always succeeds
|
||||||
HOOKDIR="$(git rev-parse --git-dir)/hooks"
|
HOOKDIR="$(git rev-parse --git-dir)/hooks"
|
||||||
@ -24,15 +30,21 @@ exit 0
|
|||||||
EOF
|
EOF
|
||||||
chmod +x "$HOOK"
|
chmod +x "$HOOK"
|
||||||
|
|
||||||
test_expect_success "with succeeding hook" \
|
test_expect_success 'with succeeding hook' '
|
||||||
"echo 'more' >> file &&
|
|
||||||
git add file &&
|
|
||||||
git commit -m 'more'"
|
|
||||||
|
|
||||||
test_expect_success "--no-verify with succeeding hook" \
|
echo "more" >> file &&
|
||||||
"echo 'even more' >> file &&
|
git add file &&
|
||||||
git add file &&
|
git commit -m "more"
|
||||||
git commit --no-verify -m 'even 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
|
# now a hook that fails
|
||||||
cat > "$HOOK" <<EOF
|
cat > "$HOOK" <<EOF
|
||||||
@ -40,25 +52,37 @@ cat > "$HOOK" <<EOF
|
|||||||
exit 1
|
exit 1
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
test_expect_failure "with failing hook" \
|
test_expect_failure 'with failing hook' '
|
||||||
"echo 'another' >> file &&
|
|
||||||
git add file &&
|
|
||||||
git commit -m 'another'"
|
|
||||||
|
|
||||||
test_expect_success "--no-verify with failing hook" \
|
echo "another" >> file &&
|
||||||
"echo 'stuff' >> file &&
|
git add file &&
|
||||||
git add file &&
|
git commit -m "another"
|
||||||
git commit --no-verify -m 'stuff'"
|
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success '--no-verify with failing hook' '
|
||||||
|
|
||||||
|
echo "stuff" >> file &&
|
||||||
|
git add file &&
|
||||||
|
git commit --no-verify -m "stuff"
|
||||||
|
|
||||||
|
'
|
||||||
|
|
||||||
chmod -x "$HOOK"
|
chmod -x "$HOOK"
|
||||||
test_expect_success "with non-executable 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 "content" >> file &&
|
||||||
"echo 'more content' >> file &&
|
git add file &&
|
||||||
git add file &&
|
git commit -m "content"
|
||||||
git commit --no-verify -m 'more 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
|
test_done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user