From: Caleb Thompson <caleb@calebthompson.io>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>, Jeremiah Mahler <jmmahler@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v6 3/4] commit test: test_set_editor in each test
Date: Tue, 17 Jun 2014 14:38:59 -0500 [thread overview]
Message-ID: <41484002d48514cc6eefc1bebbf6fea8d0f93a40.1403033723.git.caleb@calebthompson.io> (raw)
In-Reply-To: <cover.1403033723.git.caleb@calebthompson.io>
In-Reply-To: <cover.1403033723.git.caleb@calebthompson.io>
t/t7507-commit-verbose.sh was using a global test_set_editor call to
build its environment. The $EDITOR being used was not necessary for
all tests, and was in fact circumvented using subshells in some
cases.
To improve robustness against global state changes and avoid the use of
subshells to temporarily switch the editor as some were with
GIT_EDITOR=cat, set the editor explicitly wherever it will be important.
Specifically, in tests that need to check for the presence of a diff in the
editor, make calls to set_test_editor to set $EDITOR to check-for-diff
rather than relying on that editor being configured globally. This also
helps readers grok the tests as the setup is closer to the verification.
Signed-off-by: Caleb Thompson <caleb@calebthompson.io>
Reviewed-by: Jeremiah Mahler <jmmahler@gmail.com>
---
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
next prev parent reply other threads:[~2014-06-17 19:39 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-17 19:38 [PATCH v6 0/4] commit: Add commit.verbose configuration Caleb Thompson
2014-06-17 19:38 ` [PATCH v6 1/4] commit test: Use test_config instead of git-config Caleb Thompson
2014-06-17 21:31 ` Junio C Hamano
2014-06-17 21:35 ` Junio C Hamano
2014-06-17 19:38 ` [PATCH v6 2/4] commit test: Use write_script Caleb Thompson
2014-06-17 19:38 ` Caleb Thompson [this message]
2014-06-17 19:39 ` [PATCH v6 4/4] commit: Add commit.verbose configuration Caleb Thompson
2014-06-17 21:21 ` Jeff King
2014-06-17 21:37 ` Junio C Hamano
2014-06-17 21:39 ` Jeff King
2015-02-27 9:13 ` [PATCH v6 0/4] " Torstein Hegge
2015-03-02 19:02 ` Caleb Thompson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41484002d48514cc6eefc1bebbf6fea8d0f93a40.1403033723.git.caleb@calebthompson.io \
--to=caleb@calebthompson.io \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jmmahler@gmail.com \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).