Skip to content

Commit

Permalink
t7502: perform commits using alternate editor in a subshell
Browse files Browse the repository at this point in the history
These tests call test_set_editor to set an alternate editor script, but
they appear to presume that the assignment is of a temporary nature and
will not have any effect outside of each individual test.  That is not
the case.  All of the test functions within a test script share a single
environment, so any variables modified in one, are visible in the ones
that follow.

So, let's protect the test functions that follow these, which set an
alternate editor, by performing the test_set_editor and 'git commit'
in a subshell.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Brandon Casey authored and Junio C Hamano committed Feb 23, 2013
1 parent 51fb3a3 commit 24e099f
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions t/t7502-commit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -255,32 +255,40 @@ test_expect_success 'cleanup commit message (fail on invalid cleanup mode config
test_expect_success 'cleanup commit message (no config and no option uses default)' '
echo content >>file &&
git add file &&
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git commit --no-status &&
(
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git commit --no-status
) &&
commit_msg_is "commit message"
'

test_expect_success 'cleanup commit message (option overrides default)' '
echo content >>file &&
git add file &&
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git commit --cleanup=whitespace --no-status &&
(
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git commit --cleanup=whitespace --no-status
) &&
commit_msg_is "commit message # comment"
'

test_expect_success 'cleanup commit message (config overrides default)' '
echo content >>file &&
git add file &&
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git -c commit.cleanup=whitespace commit --no-status &&
(
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git -c commit.cleanup=whitespace commit --no-status
) &&
commit_msg_is "commit message # comment"
'

test_expect_success 'cleanup commit message (option overrides config)' '
echo content >>file &&
git add file &&
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git -c commit.cleanup=whitespace commit --cleanup=default &&
(
test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
git -c commit.cleanup=whitespace commit --cleanup=default
) &&
commit_msg_is "commit message"
'

Expand Down

0 comments on commit 24e099f

Please sign in to comment.