@@ -42,43 +42,35 @@ test_expect_success 'root commit' '
'
test_expect_success 'with no hook' '
- test_when_finished "rm -f expected_hooks actual_hooks" &&
- >expected_hooks &&
- >actual_hooks &&
+ test_when_finished "rm -f actual_hooks" &&
echo "foo" >file &&
git add file &&
git commit -m "first" &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success 'with no hook (merge)' '
- test_when_finished "rm -f expected_hooks actual_hooks" &&
- >expected_hooks &&
- >actual_hooks &&
+ test_when_finished "rm -f actual_hooks" &&
git checkout side &&
git merge -m "merge master" master &&
git checkout master &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success '--no-verify with no hook' '
- test_when_finished "rm -f expected_hooks actual_hooks" &&
- >expected_hooks &&
- >actual_hooks &&
+ test_when_finished "rm -f actual_hooks" &&
echo "bar" >file &&
git add file &&
git commit --no-verify -m "bar" &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success '--no-verify with no hook (merge)' '
- test_when_finished "rm -f expected_hooks actual_hooks" &&
- >expected_hooks &&
- >actual_hooks &&
+ test_when_finished "rm -f actual_hooks" &&
git checkout side &&
git merge --no-verify -m "merge master" master &&
git checkout master &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success 'with succeeding hook' '
@@ -104,25 +96,21 @@ test_expect_success 'with succeeding hook (merge)' '
'
test_expect_success '--no-verify with succeeding hook' '
- test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks" &&
+ test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" &&
ln -s "success.sample" "$PRECOMMIT" &&
- >expected_hooks &&
- >actual_hooks &&
echo "even more" >>file &&
git add file &&
git commit --no-verify -m "even more" &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success '--no-verify with succeeding hook (merge)' '
- test_when_finished "rm -f \"$PREMERGE\" expected_hooks actual_hooks" &&
+ test_when_finished "rm -f \"$PREMERGE\" actual_hooks" &&
ln -s "success.sample" "$PREMERGE" &&
- >expected_hooks &&
- >actual_hooks &&
git checkout side &&
git merge --no-verify -m "merge master" master &&
git checkout master &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success 'with failing hook' '
@@ -137,14 +125,12 @@ test_expect_success 'with failing hook' '
'
test_expect_success '--no-verify with failing hook' '
- test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks" &&
+ test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" &&
ln -s "fail.sample" "$PRECOMMIT" &&
- >expected_hooks &&
- >actual_hooks &&
echo "stuff" >>file &&
git add file &&
git commit --no-verify -m "stuff" &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success 'with failing hook (merge)' '
@@ -159,38 +145,32 @@ test_expect_success 'with failing hook (merge)' '
'
test_expect_success '--no-verify with failing hook (merge)' '
- test_when_finished "rm -f \"$PREMERGE\" expected_hooks actual_hooks" &&
+ test_when_finished "rm -f \"$PREMERGE\" actual_hooks" &&
ln -s "fail.sample" "$PREMERGE" &&
- >expected_hooks &&
- >actual_hooks &&
git checkout side &&
git merge --no-verify -m "merge master" master &&
git checkout master &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success POSIXPERM 'with non-executable hook' '
- test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
+ test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
ln -s "fail.sample" "$PRECOMMIT" &&
chmod -x "$HOOKDIR/fail.sample" &&
- >expected_hooks &&
- >actual_hooks &&
echo "content" >>file &&
git add file &&
git commit -m "content" &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success POSIXPERM '--no-verify with non-executable hook' '
- test_when_finished "rm -f \"$PRECOMMIT\" expected_hooks actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
+ test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks && chmod +x \"$HOOKDIR/fail.sample\"" &&
ln -s "fail.sample" "$PRECOMMIT" &&
chmod -x "$HOOKDIR/fail.sample" &&
- >expected_hooks &&
- >actual_hooks &&
echo "more content" >>file &&
git add file &&
git commit --no-verify -m "more content" &&
- test_cmp expected_hooks actual_hooks
+ test_path_is_missing actual_hooks
'
test_expect_success 'with hook requiring GIT_PREFIX' '
Rather than creating an empty "expected_hooks" file and another empty file "actual_hooks" (which we want to not be appended to), just verify that "actual_hooks" isn't created. Do still clean up the "actual_hooks" file, so that a failing test won't start affecting later tests too. Signed-off-by: Martin Ågren <martin.agren@gmail.com> --- ...3-pre-commit-and-pre-merge-commit-hooks.sh | 60 +++++++------------ 1 file changed, 20 insertions(+), 40 deletions(-)