Introduce test_pushdefault_with_mode() to test that remote.pushdefault works with all the push.default modes correctly. Exercise it with all four modes to illustrate how triangular workflows work, and to guard against regressions. Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- t/t5528-push-default.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/t/t5528-push-default.sh b/t/t5528-push-default.sh index 9ddd3a9..9762515 100755 --- a/t/t5528-push-default.sh +++ b/t/t5528-push-default.sh @@ -39,6 +39,19 @@ test_push_failure () { test_cmp expect actual } +# $1 = push.default value +# $2 = branch.master.merge value (master or foo) +# $3 = branch to check for actual output (master or foo) +test_pushdefault_with_mode () { +test_expect_success "push.default = $1 works with remote.pushdefault" " + test_config branch.master.remote parent1 && + test_config branch.master.merge refs/heads/$2 && + test_config remote.pushdefault parent2 && + test_commit commit-for-$1 && + test_push_success $1 $3 repo2 +" +} + test_expect_success '"upstream" pushes to configured upstream' ' git checkout master && test_config branch.master.remote parent1 && @@ -115,4 +128,9 @@ test_expect_success 'push to existing branch, upstream configured with different test_cmp expect-other-name actual-other-name ' +test_pushdefault_with_mode "matching" "foo" "master" +test_pushdefault_with_mode "upstream" "foo" "foo" +test_pushdefault_with_mode "simple" "master" "master" +test_pushdefault_with_mode "current" "foo" "master" + test_done -- 1.8.3.247.g485169c -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html