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

[BUG/PATCH 3/5] t4214: generate expect in their own test cases

From
Denton Liu <liu.denton@gmail.com>
Date
Sep 25, 2019, 10:27 UTC
Message-ID
<c09f761185859998d33c4944fe3a7317e3a8c987.1569407150.git.liu.denton@gmail.com>
In-Reply-To
<cover.1569407150.git.liu.denton@gmail.com>

Before, the expect files of the test case were being generated in the setup method. However, it would make more sense to generate these files within the test cases that actually use them so that it's obvious to future readers where the expected values are coming from.

Move the generation of the expect files in their own respective test cases.

While we're at it, we want to establish a pattern in this test suite that, firstly, a non-colored test case is given then, immediately after, the colored version is given.

Switch test cases "log --graph with tricky octopus merge, no color" and "log --graph with tricky octopus merge with colors" so that the "no color" version appears first.

This patch is best viewed with `--color-moved`.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
---
 t/t4214-log-graph-octopus.sh | 42 ++++++++++++++++++------------------
 1 file changed, 21 insertions(+), 21 deletions(-)
diff --git a/t/t4214-log-graph-octopus.sh b/t/t4214-log-graph-octopus.sh
index f6e22ec825..16776e347c 100755
--- a/t/t4214-log-graph-octopus.sh
+++ b/t/t4214-log-graph-octopus.sh
@@ -5,6 +5,20 @@ test_description='git log --graph of skewed left octopus merge.'
 . ./test-lib.sh
 
 test_expect_success 'set up merge history' '
+	test_commit initial &&
+	for i in 1 2 3 4 ; do
+		git checkout master -b $i || return $?
+		# Make tag name different from branch name, to avoid
+		# ambiguity error when calling checkout.
+		test_commit $i $i $i tag$i || return $?
+	done &&
+	git checkout 1 -b merge &&
+	test_merge octopus-merge 1 2 3 4 &&
+	git checkout 1 -b L &&
+	test_commit left
+'
+
+test_expect_success 'log --graph with tricky octopus merge, no color' '
 	cat >expect.uncolored <<-\EOF &&
 	* left
 	| *---.   octopus-merge
@@ -19,6 +33,13 @@ test_expect_success 'set up merge history' '
 	|/
 	* initial
 	EOF
+	git log --color=never --graph --date-order --pretty=tformat:%s --all >actual.raw &&
+	sed "s/ *\$//" actual.raw >actual &&
+	test_cmp expect.uncolored actual
+'
+
+test_expect_success 'log --graph with tricky octopus merge with colors' '
+	test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
 	cat >expect.colors <<-\EOF &&
 	* left
 	<RED>|<RESET> *<BLUE>-<RESET><BLUE>-<RESET><MAGENTA>-<RESET><MAGENTA>.<RESET>   octopus-merge
@@ -33,32 +54,11 @@ test_expect_success 'set up merge history' '
 	<MAGENTA>|<RESET><MAGENTA>/<RESET>
 	* initial
 	EOF
-	test_commit initial &&
-	for i in 1 2 3 4 ; do
-		git checkout master -b $i || return $?
-		# Make tag name different from branch name, to avoid
-		# ambiguity error when calling checkout.
-		test_commit $i $i $i tag$i || return $?
-	done &&
-	git checkout 1 -b merge &&
-	test_merge octopus-merge 1 2 3 4 &&
-	git checkout 1 -b L &&
-	test_commit left
-'
-
-test_expect_success 'log --graph with tricky octopus merge with colors' '
-	test_config log.graphColors red,green,yellow,blue,magenta,cyan &&
 	git log --color=always --graph --date-order --pretty=tformat:%s --all >actual.colors.raw &&
 	test_decode_color <actual.colors.raw | sed "s/ *\$//" >actual.colors &&
 	test_cmp expect.colors actual.colors
 '
 
-test_expect_success 'log --graph with tricky octopus merge, no color' '
-	git log --color=never --graph --date-order --pretty=tformat:%s --all >actual.raw &&
-	sed "s/ *\$//" actual.raw >actual &&
-	test_cmp expect.uncolored actual
-'
-
 # Repeat the previous two tests with "normal" octopus merge (i.e.,
 # without the first parent skewing to the "left" branch column).
 
-- 
2.23.0.248.g3a9dd8fb08
Previous: Denton LiuNext: Denton Liu
Message 4 of 16 in “t4214: cleanup and demonstrate graph bug”
  1. 0/5 t4214: cleanup and demonstrate graph bugDenton Liu, Sep 25, 2019
  2. 1/5 test-lib: let test_merge() perform octopus mergesDenton Liu, Sep 25, 2019
  3. 2/5 t4214: use test_mergeDenton Liu, Sep 25, 2019
  4. 3/5 t4214: generate expect in their own test casesDenton Liu, Sep 25, 2019
  5. 4/5 t4214: explicitly list tags in logDenton Liu, Sep 25, 2019
  6. 5/5 t4214: demonstrate octopus graph coloring failureDenton Liu, Sep 25, 2019
  7. Denton LiuSep 25, 2019
  8. Jeff KingSep 26, 2019
  9. Junio C HamanoOct 3, 2019
  10. 0/5 t4214: cleanup and demonstrate graph bugDenton Liu, Oct 4, 2019
  11. 1/5 test-lib: let test_merge() perform octopus mergesDenton Liu, Oct 4, 2019
  12. 4/5 t4214: explicitly list tags in logDenton Liu, Oct 4, 2019
  13. 2/5 t4214: use test_mergeDenton Liu, Oct 4, 2019
  14. 3/5 t4214: generate expect in their own test casesDenton Liu, Oct 4, 2019
  15. 5/5 t4214: demonstrate octopus graph coloring failureDenton Liu, Oct 4, 2019
  16. Junio C HamanoOct 4, 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.