[PATCH 5/5] t7503: test failing merge with both hooks available
- From
- Martin Ågren <martin.agren@gmail.com>
- Date
- Aug 2, 2019, 09:56 UTC
- Message-ID
- <1a65bc5519e59934bf665175b4377c5d6427b77a.1564737003.git.martin.agren@gmail.com>
- In-Reply-To
- <cover.1564737003.git.martin.agren@gmail.com>
With a failing automatic merge, we want to make sure that we *don't* call the pre-merge-commit hook and that we (eventually) *do* call the pre-commit hook.
Signed-off-by: Martin Ågren <martin.agren@gmail.com> --- ...3-pre-commit-and-pre-merge-commit-hooks.sh | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh index f0c73fd58d..4bf359c097 100755 --- a/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh +++ b/t/t7503-pre-commit-and-pre-merge-commit-hooks.sh @@ -41,6 +41,18 @@ test_expect_success 'root commit' ' git checkout master ' +test_expect_success 'setup conflicting branches' ' + test_when_finished "git checkout master" && + git checkout -b conflicting-a master && + echo a >conflicting && + git add conflicting && + git commit -m conflicting-a && + git checkout -b conflicting-b master && + echo b >conflicting && + git add conflicting && + git commit -m conflicting-b +' + test_expect_success 'with no hook' ' test_when_finished "rm -f actual_hooks" && echo "foo" >file && @@ -93,6 +105,24 @@ test_expect_success 'with succeeding hook (merge)' ' test_cmp expected_hooks actual_hooks ' +test_expect_success 'automatic merge fails; both hooks are available' ' + test_when_finished "rm -f \"$PREMERGE\" \"$PRECOMMIT\"" && + test_when_finished "rm -f expected_hooks actual_hooks" && + test_when_finished "git checkout master" && + ln -s "success.sample" "$PREMERGE" && + ln -s "success.sample" "$PRECOMMIT" && + + git checkout conflicting-a && + test_must_fail git merge -m "merge conflicting-b" conflicting-b && + test_path_is_missing actual_hooks && + + echo "$PRECOMMIT" >expected_hooks && + echo a+b >conflicting && + git add conflicting && + git commit -m "resolve conflict" && + test_cmp expected_hooks actual_hooks +' + test_expect_success '--no-verify with succeeding hook' ' test_when_finished "rm -f \"$PRECOMMIT\" actual_hooks" && ln -s "success.sample" "$PRECOMMIT" &&
-- 2.23.0.rc0.30.g51cf315870