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

[PATCH v3 4/5] commit test: test_set_editor in each test

From
Caleb Thompson <cjaysson@gmail.com>
Date
May 26, 2014, 18:56 UTC
Message-ID
<1401130586-93105-5-git-send-email-caleb@calebthompson.io>
In-Reply-To
<1401130586-93105-1-git-send-email-caleb@calebthompson.io>

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

Rather than building global state with test_set_editor at the beginning of the file, move test_set_editor calls into each test.

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

Signed-off-by: Caleb Thompson <caleb@calebthompson.io>
---
 t/t7507-commit-verbose.sh | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/t/t7507-commit-verbose.sh b/t/t7507-commit-verbose.sh
index e62d921..310b68b 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,10 +20,12 @@ test_expect_success 'setup' '
 '
 
 test_expect_success 'initial commit shows verbose diff' '
+	test_set_editor "$(pwd)/check-for-diff" &&
 	git commit --amend -v
 '
 
 test_expect_success 'second commit' '
+	test_set_editor "$(pwd)/check-for-diff" &&
 	echo content modified >file &&
 	git add file &&
 	git commit -F message
@@ -36,11 +37,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
@@ -59,16 +62,19 @@ index 0000000..f95c11d
 EOF
 
 test_expect_success 'diff in message is retained without -v' '
+	test_set_editor "$(pwd)/check-for-diff" &&
 	git commit --amend -F diff &&
 	check_message diff
 '
 
 test_expect_success 'diff in message is retained with -v' '
+	test_set_editor "$(pwd)/check-for-diff" &&
 	git commit --amend -F diff -v &&
 	check_message diff
 '
 
 test_expect_success 'submodule log is stripped out too with -v' '
+	test_set_editor "$(pwd)/check-for-diff" &&
 	test_config diff.submodule log &&
 	git submodule add ./. sub &&
 	git commit -m "sub added" &&
@@ -77,20 +83,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
 '
 
-- 
1.9.3
Previous: Junio C HamanoNext: Eric Sunshine
Message 17 of 25 in “commit: support commit.verbose and --no-verbose”
  1. commit: support commit.verbose and --no-verboseCaleb Thompson, May 25, 2014
  2. Jeremiah MahlerMay 25, 2014
  3. Jeremiah MahlerMay 25, 2014
  4. Duy NguyenMay 25, 2014
  5. Eric SunshineMay 25, 2014
  6. 0/5 commit: support commit.verbose and --no-verboseCaleb Thompson, May 26, 2014
  7. 1/5 commit test: Use test_config instead of git-configCaleb Thompson, May 26, 2014
  8. 2/5 commit test: Change $PWD to $(pwd)Caleb Thompson, May 26, 2014
  9. Johannes SixtMay 27, 2014
  10. Eric SunshineMay 27, 2014
  11. Jeremiah MahlerMay 27, 2014
  12. Johannes SixtMay 27, 2014
  13. David KastrupMay 27, 2014
  14. 3/5 commit test: Use write_scriptCaleb Thompson, May 26, 2014
  15. Eric SunshineMay 27, 2014
  16. Junio C HamanoMay 27, 2014
  17. 4/5 commit test: test_set_editor in each testCaleb Thompson, May 26, 2014
  18. Eric SunshineMay 27, 2014
  19. 5/5 commit: support commit.verbose and --no-verboseCaleb Thompson, May 26, 2014
  20. Jeremiah MahlerMay 26, 2014
  21. Caleb ThompsonMay 26, 2014
  22. Jeremiah MahlerMay 26, 2014
  23. Jeremiah MahlerMay 26, 2014
  24. Caleb ThompsonMay 26, 2014
  25. Jeremiah MahlerMay 26, 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.