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

[PATCH v3 1/5] t3404: modernize here doc style

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Jun 24, 2019, 18:13 UTC
Message-ID
<20190624181318.17388-2-szeder.dev@gmail.com>
In-Reply-To
<20190624181318.17388-1-szeder.dev@gmail.com>

In 't3404-rebase-interactive.sh' the expected output of several tests is prepared from here documents, which are outside of 'test_expect_success' blocks and have spaces around redirection operators.

Move these here documents into the corresponding 'test_expect_success' block and avoid spaces between filename and redition operators. Furthermore, quote the here docs' delimiter word to prevent parameter expansions and what not, where applicable.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
 t/t3404-rebase-interactive.sh | 123 ++++++++++++++++------------------
 1 file changed, 58 insertions(+), 65 deletions(-)
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 1723e1a858..9146f9d47b 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -75,11 +75,10 @@ test_expect_success 'rebase --keep-empty' '
 	test_line_count = 6 actual
 '
 
-cat > expect <<EOF
-error: nothing to do
-EOF
-
 test_expect_success 'rebase -i with empty HEAD' '
+	cat >expect <<-\EOF &&
+	error: nothing to do
+	EOF
 	set_fake_editor &&
 	test_must_fail env FAKE_LINES="1 exec_true" git rebase -i HEAD^ >actual 2>&1 &&
 	test_i18ncmp expect actual
@@ -237,25 +236,23 @@ test_expect_success 'exchange two commits' '
 	test G = $(git cat-file commit HEAD | sed -ne \$p)
 '
 
-cat > expect << EOF
-diff --git a/file1 b/file1
-index f70f10e..fd79235 100644
---- a/file1
-+++ b/file1
-@@ -1 +1 @@
--A
-+G
-EOF
-
-cat > expect2 << EOF
-<<<<<<< HEAD
-D
-=======
-G
->>>>>>> 5d18e54... G
-EOF
-
 test_expect_success 'stop on conflicting pick' '
+	cat >expect <<-\EOF &&
+	diff --git a/file1 b/file1
+	index f70f10e..fd79235 100644
+	--- a/file1
+	+++ b/file1
+	@@ -1 +1 @@
+	-A
+	+G
+	EOF
+	cat >expect2 <<-\EOF &&
+	<<<<<<< HEAD
+	D
+	=======
+	G
+	>>>>>>> 5d18e54... G
+	EOF
 	git tag new-branch1 &&
 	set_fake_editor &&
 	test_must_fail git rebase -i master &&
@@ -495,15 +492,14 @@ test_expect_success 'commit message retained after conflict' '
 	git branch -D conflict-squash
 '
 
-cat > expect-squash-fixup << EOF
-B
-
-D
+test_expect_success C_LOCALE_OUTPUT 'squash and fixup generate correct log messages' '
+	cat >expect-squash-fixup <<-\EOF &&
+	B
 
-ONCE
-EOF
+	D
 
-test_expect_success C_LOCALE_OUTPUT 'squash and fixup generate correct log messages' '
+	ONCE
+	EOF
 	git checkout -b squash-fixup E &&
 	base=$(git rev-parse HEAD~4) &&
 	set_fake_editor &&
@@ -799,13 +795,12 @@ test_expect_success 'rebase -i can copy notes' '
 	test "a note" = "$(git notes show HEAD)"
 '
 
-cat >expect <<EOF
-an earlier note
-
-a note
-EOF
-
 test_expect_success 'rebase -i can copy notes over a fixup' '
+	cat >expect <<-\EOF &&
+	an earlier note
+
+	a note
+	EOF
 	git reset --hard n3 &&
 	git notes add -m"an earlier note" n2 &&
 	set_fake_editor &&
@@ -1304,27 +1299,26 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = ignore' '
 		actual
 '
 
-cat >expect <<EOF
-Warning: some commits may have been dropped accidentally.
-Dropped commits (newer to older):
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
-To avoid this message, use "drop" to explicitly remove a commit.
-
-Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
-The possible behaviours are: ignore, warn, error.
-
-Rebasing (1/4)
-Rebasing (2/4)
-Rebasing (3/4)
-Rebasing (4/4)
-Successfully rebased and updated refs/heads/missing-commit.
-EOF
-
 cr_to_nl () {
 	tr '\015' '\012'
 }
 
 test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' '
+	cat >expect <<-EOF &&
+	Warning: some commits may have been dropped accidentally.
+	Dropped commits (newer to older):
+	 - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
+	To avoid this message, use "drop" to explicitly remove a commit.
+
+	Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings.
+	The possible behaviours are: ignore, warn, error.
+
+	Rebasing (1/4)
+	Rebasing (2/4)
+	Rebasing (3/4)
+	Rebasing (4/4)
+	Successfully rebased and updated refs/heads/missing-commit.
+	EOF
 	test_config rebase.missingCommitsCheck warn &&
 	rebase_setup_and_clean missing-commit &&
 	set_fake_editor &&
@@ -1335,21 +1329,20 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' '
 	test D = $(git cat-file commit HEAD | sed -ne \$p)
 '
 
-cat >expect <<EOF
-Warning: some commits may have been dropped accidentally.
-Dropped commits (newer to older):
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
- - $(git rev-list --pretty=oneline --abbrev-commit -1 master~2)
-To avoid this message, use "drop" to explicitly remove a commit.
-
-Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
-The possible behaviours are: ignore, warn, error.
-
-You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
-Or you can abort the rebase with 'git rebase --abort'.
-EOF
-
 test_expect_success 'rebase -i respects rebase.missingCommitsCheck = error' '
+	cat >expect <<-EOF &&
+	Warning: some commits may have been dropped accidentally.
+	Dropped commits (newer to older):
+	 - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
+	 - $(git rev-list --pretty=oneline --abbrev-commit -1 master~2)
+	To avoid this message, use "drop" to explicitly remove a commit.
+
+	Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings.
+	The possible behaviours are: ignore, warn, error.
+
+	You can fix this with '\''git rebase --edit-todo'\'' and then run '\''git rebase --continue'\''.
+	Or you can abort the rebase with '\''git rebase --abort'\''.
+	EOF
 	test_config rebase.missingCommitsCheck error &&
 	rebase_setup_and_clean missing-commit &&
 	set_fake_editor &&
-- 
2.22.0.589.g5bd7971b91
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 34 of 41 in “rebase: fix garbled progress display with '-x'”
  1. rebase: fix garbled progress display with '-x'SZEDER Gábor, Apr 30, 2019
  2. Johannes SchindelinApr 30, 2019
  3. SZEDER GáborMay 1, 2019
  4. Johannes SchindelinMay 3, 2019
  5. SZEDER GáborJun 11, 2019
  6. 0/4 rebase/progress: add and use term_clear_line()SZEDER Gábor, Jun 11, 2019
  7. 2/4 pager: add a helper function to clear the last line in the terminalSZEDER Gábor, Jun 11, 2019
  8. 1/4 t3404-rebase-interactive: use the 'q_to_cr' helperSZEDER Gábor, Jun 11, 2019
  9. 3/4 rebase: fix garbled progress display with '-x'SZEDER Gábor, Jun 11, 2019
  10. Junio C HamanoJun 11, 2019
  11. SZEDER GáborJun 11, 2019
  12. Johannes SchindelinJun 12, 2019
  13. SZEDER GáborJun 12, 2019
  14. Johannes SchindelinJun 13, 2019
  15. Johannes SchindelinJun 14, 2019
  16. SZEDER GáborJun 17, 2019
  17. SZEDER GáborJun 17, 2019
  18. SZEDER GáborJun 17, 2019
  19. SZEDER GáborJun 24, 2019
  20. Phillip WoodJun 25, 2019
  21. SZEDER GáborJun 25, 2019
  22. Phillip WoodJun 25, 2019
  23. Phillip WoodJun 25, 2019
  24. Johannes SchindelinJun 25, 2019
  25. Phillip WoodJun 25, 2019
  26. Junio C HamanoJun 11, 2019
  27. SZEDER GáborJun 11, 2019
  28. Junio C HamanoJun 12, 2019
  29. 4/4 progress: use term_clear_line()SZEDER Gábor, Jun 11, 2019
  30. Johannes SchindelinJun 12, 2019
  31. 0/5 rebase/progress: add and use term_clear_line()SZEDER Gábor, Jun 24, 2019
  32. 2/5 t3404: make the 'rebase.missingCommitsCheck=ignore' test more focusedSZEDER Gábor, Jun 24, 2019
  33. Johannes SchindelinJun 25, 2019
  34. 1/5 t3404: modernize here doc styleSZEDER Gábor, Jun 24, 2019
  35. Johannes SchindelinJun 25, 2019
  36. 3/5 pager: add a helper function to clear the last line in the terminalSZEDER Gábor, Jun 24, 2019
  37. 4/5 rebase: fix garbled progress display with '-x'SZEDER Gábor, Jun 24, 2019
  38. 4/5 rebase: fix garbled progress display with '-x'SZEDER Gábor, Jun 27, 2019
  39. 5/5 progress: use term_clear_line()SZEDER Gábor, Jun 24, 2019
  40. Johannes SchindelinJun 25, 2019
  41. Junio C HamanoJun 25, 2019

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.