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

[PATCH v5 3/4] commit test: test_set_editor in each test

From
Caleb Thompson <caleb@calebthompson.io>
Date
Jun 12, 2014, 19:39 UTC
Message-ID
<1402601942-45553-4-git-send-email-caleb@calebthompson.io>
In-Reply-To
<1402601942-45553-1-git-send-email-caleb@calebthompson.io>

t/t7507-commit-verbose.sh was using a global test_set_editor call to build its environment.

Improve robustness against global state changes by having only tests which intend to use the $EDITOR to check for presence of a diff in the editor set up the test-editor to use check-for-diff rather than relying upon the editor set once at script start.

Besides being in line with current practices, it also allows the tests which set GIT_EDITOR=cat manually to avoid using a subshell and simplify their logic.

Signed-off-by: Caleb Thompson <caleb@calebthompson.io>
---
 t/t7507-commit-verbose.sh | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/t/t7507-commit-verbose.sh b/t/t7507-commit-verbose.sh
index db09107..35a4d06 100755
--- a/t/t7507-commit-verbose.sh
+++ b/t/t7507-commit-verbose.sh
@@ -6,7 +6,6 @@ test_description='verbose commit template'
 write_script check-for-diff <<-'EOF'
 	exec grep '^diff --git' "$1"
 EOF
-test_set_editor "$PWD/check-for-diff"
 
 cat >message <<'EOF'
 subject
@@ -21,6 +20,7 @@ test_expect_success 'setup' '
 '
 
 test_expect_success 'initial commit shows verbose diff' '
+	test_set_editor "$PWD/check-for-diff" &&
 	git commit --amend -v
 '
 
@@ -36,11 +36,13 @@ check_message() {
 }
 
 test_expect_success 'verbose diff is stripped out' '
+	test_set_editor "$PWD/check-for-diff" &&
 	git commit --amend -v &&
 	check_message message
 '
 
 test_expect_success 'verbose diff is stripped out (mnemonicprefix)' '
+	test_set_editor "$PWD/check-for-diff" &&
 	test_config diff.mnemonicprefix true &&
 	git commit --amend -v &&
 	check_message message
@@ -77,20 +79,14 @@ test_expect_success 'submodule log is stripped out too with -v' '
 		echo "more" >>file &&
 		git commit -a -m "submodule commit"
 	) &&
-	(
-		GIT_EDITOR=cat &&
-		export GIT_EDITOR &&
-		test_must_fail git commit -a -v 2>err
-	) &&
+	test_set_editor cat &&
+	test_must_fail git commit -a -v 2>err &&
 	test_i18ngrep "Aborting commit due to empty commit message." err
 '
 
 test_expect_success 'verbose diff is stripped out with set core.commentChar' '
-	(
-		GIT_EDITOR=cat &&
-		export GIT_EDITOR &&
-		test_must_fail git -c core.commentchar=";" commit -a -v 2>err
-	) &&
+	test_set_editor cat &&
+	test_must_fail git -c core.commentchar=";" commit -a -v 2>err &&
 	test_i18ngrep "Aborting commit due to empty commit message." err
 '
 
-- 
2.0.0
Previous: Jeff KingNext: Jeff King
Message 7 of 28 in “commit: Add commit.verbose configuration”
  1. 0/4 commit: Add commit.verbose configurationCaleb Thompson, Jun 12, 2014
  2. 1/4 commit test: Use test_config instead of git-configCaleb Thompson, Jun 12, 2014
  3. 2/4 commit test: Use write_scriptCaleb Thompson, Jun 12, 2014
  4. Jeff KingJun 13, 2014
  5. Caleb ThompsonJun 13, 2014
  6. Jeff KingJun 13, 2014
  7. 3/4 commit test: test_set_editor in each testCaleb Thompson, Jun 12, 2014
  8. Jeff KingJun 13, 2014
  9. Caleb ThompsonJun 13, 2014
  10. Jakub NarębskiJun 13, 2014
  11. Caleb ThompsonJun 13, 2014
  12. Jakub NarębskiJun 13, 2014
  13. Jeff KingJun 13, 2014
  14. Junio C HamanoJun 13, 2014
  15. Jeff KingJun 13, 2014
  16. Caleb ThompsonJun 16, 2014
  17. Junio C HamanoJun 16, 2014
  18. 4/4 commit: Add commit.verbose configurationCaleb Thompson, Jun 12, 2014
  19. Junio C HamanoJun 13, 2014
  20. Caleb ThompsonJun 16, 2014
  21. Caleb ThompsonJun 16, 2014
  22. Junio C HamanoJun 16, 2014
  23. Caleb ThompsonJun 16, 2014
  24. Junio C HamanoJun 16, 2014
  25. Jeremiah MahlerJun 12, 2014
  26. Caleb ThompsonJun 13, 2014
  27. Jeremiah MahlerJun 14, 2014
  28. Junio C HamanoJun 16, 2014

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.