From: Mehul Jain <mehul.jain2029@gmail.com>
To: git@vger.kernel.org
Cc: sunshine@sunshineco.com, Matthieu.Moy@grenoble-inp.fr,
gitster@pobox.com, Mehul Jain <mehul.jain2029@gmail.com>
Subject: [PATCH 4/5] t/t5520: modify tests to reduce common code
Date: Tue, 29 Mar 2016 18:59:59 +0530 [thread overview]
Message-ID: <1459258200-32444-5-git-send-email-mehul.jain2029@gmail.com> (raw)
In-Reply-To: <1459258200-32444-1-git-send-email-mehul.jain2029@gmail.com>
There exist three groups of tests which have repetitive lines of code.
Introduce two functions test_rebase_autostash() and
test_rebase_no_autostash() to reduce the number of lines. Also introduce
loops to futher reduce the current implementation.
Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Mehul Jain <mehul.jain2029@gmail.com>
---
t/t5520-pull.sh | 100 +++++++++++++++++++++++---------------------------------
1 file changed, 41 insertions(+), 59 deletions(-)
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index d03cb84..2611170 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -9,6 +9,24 @@ modify () {
mv "$2.x" "$2"
}
+test_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_rebase_no_autostash () {
+ git reset --hard before-rebase &&
+ echo dirty >new_file &&
+ git add new_file &&
+ test_must_fail git pull --rebase --no-autostash . copy 2>err &&
+ test_i18ngrep "Cannot pull with rebase: Your index contains uncommitted changes." err
+}
+
test_expect_success setup '
echo file >file &&
git add file &&
@@ -256,75 +274,39 @@ test_expect_success 'pull --rebase succeeds with dirty working directory and reb
test "$(cat file)" = "modified again"
'
-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_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"
-'
+for i in true false
+ do
+ test_expect_success "pull --rebase --autostash & rebase.autostash=$i" '
+ test_config rebase.autostash $i &&
+ test_rebase_autostash
+ '
+ done
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_rebase_autostash
'
-test_expect_success 'pull --rebase --no-autostash & rebase.autostash=true' '
- test_config rebase.autostash true &&
- git reset --hard before-rebase &&
- echo dirty >new_file &&
- git add new_file &&
- test_must_fail git pull --rebase --no-autostash . copy 2>err &&
- test_i18ngrep "Cannot pull with rebase: Your index contains uncommitted changes." err
-'
-
-test_expect_success 'pull --rebase --no-autostash & rebase.autostash=false' '
- test_config rebase.autostash false &&
- git reset --hard before-rebase &&
- echo dirty >new_file &&
- git add new_file &&
- test_must_fail git pull --rebase --no-autostash . copy 2>err &&
- test_i18ngrep "Cannot pull with rebase: Your index contains uncommitted changes." err
-'
+for i in true false
+ do
+ test_expect_success "pull --rebase --no-autostash & rebase.autostash=$i" '
+ test_config rebase.autostash $i &&
+ test_rebase_no_autostash
+ '
+ done
test_expect_success 'pull --rebase --no-autostash & rebase.autostash unset' '
test_unconfig rebase.autostash &&
- git reset --hard before-rebase &&
- echo dirty >new_file &&
- git add new_file &&
- test_must_fail git pull --rebase --no-autostash . copy 2>err &&
- test_i18ngrep "Cannot pull with rebase: Your index contains uncommitted changes." err
+ test_rebase_no_autostash
'
-test_expect_success 'pull --autostash (without --rebase) should error out' '
- test_must_fail git pull --autostash . copy 2>err &&
- test_i18ngrep "only valid with --rebase" err
-'
-
-test_expect_success 'pull --no-autostash (without --rebase) should error out' '
- test_must_fail git pull --no-autostash . copy 2>err &&
- test_i18ngrep "only valid with --rebase" err
-'
+for i in --autostash --no-autostash
+ do
+ test_expect_success "pull $i (without --rebase) is illegal" '
+ test_must_fail git pull $i . copy 2>actual &&
+ test_i18ngrep "only valid with --rebase" actual
+ '
+ done
test_expect_success 'pull.rebase' '
git reset --hard before-rebase &&
--
2.7.1.340.g69eb491.dirty
next prev parent reply other threads:[~2016-03-29 13:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-29 13:29 [PATCH 0/5] modify tests for --[no-]autostash option Mehul Jain
2016-03-29 13:29 ` [PATCH 1/5] t/t5520: change rebase.autoStash to rebase.autostash Mehul Jain
2016-03-29 20:06 ` Eric Sunshine
2016-03-29 13:29 ` [PATCH 2/5] t/t5520: explicitly unset rebase.autostash Mehul Jain
2016-03-29 20:16 ` Eric Sunshine
2016-03-29 13:29 ` [PATCH 3/5] t/t5520: use test_i18ngrep instead of test_cmp Mehul Jain
2016-03-29 20:27 ` Eric Sunshine
2016-03-29 13:29 ` Mehul Jain [this message]
2016-03-29 20:13 ` [PATCH 4/5] t/t5520: modify tests to reduce common code Junio C Hamano
2016-03-29 21:01 ` Eric Sunshine
2016-03-29 13:30 ` [PATCH 5/5] t/t5520: test --[no-]autostash with pull.rebase=true Mehul Jain
2016-03-29 21:16 ` Eric Sunshine
2016-03-30 19:00 ` Mehul Jain
2016-03-30 20:31 ` Eric Sunshine
2016-04-01 10:27 ` Mehul Jain
2016-04-03 19:28 ` Eric Sunshine
2016-04-04 16:42 ` Mehul Jain
2016-04-04 16:52 ` Matthieu Moy
2016-04-04 17:36 ` Mehul Jain
2016-04-04 17:48 ` Eric Sunshine
2016-04-04 18:25 ` Matthieu Moy
2016-04-04 18:21 ` Matthieu Moy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1459258200-32444-5-git-send-email-mehul.jain2029@gmail.com \
--to=mehul.jain2029@gmail.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).