t5520: factor out common "successful autostash" code

Four tests contains repetitive lines of code.

Factor out common code into test_pull_autostash() and then call it in
these tests.

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Mehul Jain <mehul.jain2029@gmail.com>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Mehul Jain 2016-04-02 23:28:29 +05:30 committed by Junio C Hamano
parent 6ddc97c7dc
commit 5c82bcddf4

View File

@ -9,6 +9,16 @@ modify () {
mv "$2.x" "$2"
}
test_pull_autostash () {
git reset --hard before-rebase &&
echo dirty >new_file &&
git add new_file &&
git pull "$@" . copy &&
test_cmp_rev HEAD^ copy &&
test "$(cat new_file)" = dirty &&
test "$(cat file)" = "modified again"
}
test_expect_success setup '
echo file >file &&
git add file &&
@ -247,46 +257,22 @@ test_expect_success '--rebase fails with multiple branches' '
test_expect_success 'pull --rebase succeeds with dirty working directory and rebase.autostash set' '
test_config rebase.autostash true &&
git reset --hard before-rebase &&
echo dirty >new_file &&
git add new_file &&
git pull --rebase . copy &&
test_cmp_rev HEAD^ copy &&
test "$(cat new_file)" = dirty &&
test "$(cat file)" = "modified again"
test_pull_autostash --rebase
'
test_expect_success 'pull --rebase --autostash & rebase.autostash=true' '
test_config rebase.autostash true &&
git reset --hard before-rebase &&
echo dirty >new_file &&
git add new_file &&
git pull --rebase --autostash . copy &&
test_cmp_rev HEAD^ copy &&
test "$(cat new_file)" = dirty &&
test "$(cat file)" = "modified again"
test_pull_autostash --rebase --autostash
'
test_expect_success 'pull --rebase --autostash & rebase.autostash=false' '
test_config rebase.autostash false &&
git reset --hard before-rebase &&
echo dirty >new_file &&
git add new_file &&
git pull --rebase --autostash . copy &&
test_cmp_rev HEAD^ copy &&
test "$(cat new_file)" = dirty &&
test "$(cat file)" = "modified again"
test_pull_autostash --rebase --autostash
'
test_expect_success 'pull --rebase: --autostash & rebase.autostash unset' '
test_expect_success 'pull --rebase --autostash & rebase.autostash unset' '
test_unconfig rebase.autostash &&
git reset --hard before-rebase &&
echo dirty >new_file &&
git add new_file &&
git pull --rebase --autostash . copy &&
test_cmp_rev HEAD^ copy &&
test "$(cat new_file)" = dirty &&
test "$(cat file)" = "modified again"
test_pull_autostash --rebase --autostash
'
test_expect_success 'pull --rebase --no-autostash & rebase.autostash=true' '