git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 4/7] t5520: factor out common code

From
Mehul Jain <mehul.jain2029@gmail.com>
Date
Apr 2, 2016, 17:58 UTC
Message-ID
<1459619912-5445-5-git-send-email-mehul.jain2029@gmail.com>
In-Reply-To
<1459619912-5445-1-git-send-email-mehul.jain2029@gmail.com>
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>
---
 t/t5520-pull.sh | 44 +++++++++++++++-----------------------------
 1 file changed, 15 insertions(+), 29 deletions(-)
diff --git a/t/t5520-pull.sh b/t/t5520-pull.sh
index d03cb84..ac063c2 100755
--- a/t/t5520-pull.sh
+++ b/t/t5520-pull.sh
@@ -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' '
-- 
2.7.1.340.g69eb491.dirty
Previous: Mehul JainNext: Eric Sunshine
Message 5 of 20 in “t5520: tests for --[no-]autostash option”
  1. 0/7 t5520: tests for --[no-]autostash optionMehul Jain, Apr 2, 2016
  2. 1/7 t5520: use consistent capitalization in test titlesMehul Jain, Apr 2, 2016
  3. 2/7 t5520: ensure consistent test conditionsMehul Jain, Apr 2, 2016
  4. 3/7 t5520: use better test to check stderr outputMehul Jain, Apr 2, 2016
  5. 4/7 t5520: factor out common codeMehul Jain, Apr 2, 2016
  6. Eric SunshineApr 3, 2016
  7. 5/7 t5520: factor out common codeMehul Jain, Apr 2, 2016
  8. Eric SunshineApr 3, 2016
  9. 6/7 t5520: reduce commom lines of codeMehul Jain, Apr 2, 2016
  10. Johannes SixtApr 2, 2016
  11. Mehul JainApr 3, 2016
  12. Johannes SixtApr 3, 2016
  13. 7/7 t5520: test --[no-]autostash with pull.rebase=trueMehul Jain, Apr 2, 2016
  14. Eric SunshineApr 3, 2016
  15. 6/7 t5520: reduce commom lines of codeMehul Jain, Apr 3, 2016
  16. Eric SunshineApr 3, 2016
  17. Matthieu MoyApr 4, 2016
  18. Mehul JainApr 4, 2016
  19. Junio C HamanoApr 4, 2016
  20. Mehul JainApr 4, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.