t7502: do not globally unset GIT_COMMITTER_* environment variables
authorJunio C Hamano <gitster@pobox.com>
Wed, 4 Jun 2008 01:08:08 +0000 (18:08 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 4 Jun 2008 01:08:08 +0000 (18:08 -0700)
One particular test wants to check the behaviour of the command
when these variables are not set, but the later tests should have
the reliable committer identity for repeatable tests.

Move the "unset" of the variables inside a subshell in the test
that wants to unset them.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7502-commit.sh

index 22a13f7..385c8f4 100755 (executable)
@@ -171,13 +171,16 @@ sed '$d' < expect.tmp > expect
 rm -f expect.tmp
 echo "# Committer:
 #" >> expect
 rm -f expect.tmp
 echo "# Committer:
 #" >> expect
-unset GIT_COMMITTER_EMAIL
-unset GIT_COMMITTER_NAME
 
 test_expect_success 'committer is automatic' '
 
        echo >>negative &&
 
 test_expect_success 'committer is automatic' '
 
        echo >>negative &&
-       git commit -e -m "sample"
+       (
+               unset GIT_COMMITTER_EMAIL
+               unset GIT_COMMITTER_NAME
+               # must fail because there is no change
+               test_must_fail git commit -e -m "sample"
+       ) &&
        head -n 8 .git/COMMIT_EDITMSG | \
        sed "s/^# Committer: .*/# Committer:/" >actual &&
        test_cmp expect actual
        head -n 8 .git/COMMIT_EDITMSG | \
        sed "s/^# Committer: .*/# Committer:/" >actual &&
        test_cmp expect actual