t3404: make test 57 work with dash and others
authorMichael J Gruber <git@drmicha.warpmail.net>
Wed, 4 Jul 2012 11:32:04 +0000 (13:32 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Jul 2012 22:33:25 +0000 (15:33 -0700)
The construct

VAR=value test_must_fail command args

works only for some shells (such as bash) but not others (such as dash)
because VAR=value does not end up in the environment for command when it
is called by the shell function test_must_fail. That is why we explicitly
set and export variable in a subshell, i.e.

(
VAR=value &&
export VAR &&
test_must_fail command args
)

in most places already, bar the newly introduced 57 from b64b7fe
(Add tests for rebase -i --root without --onto, 2012-06-26).

Make test 57 use that construct also.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3404-rebase-interactive.sh

index 6ffc9c20c6619b7c1bfd932757cf4fc6ffa16bf8..060f9d87d26b6c9285bee46d7dc514ea53b1723c 100755 (executable)
@@ -777,7 +777,11 @@ test_expect_success 'rebase -i --root retain root commit author and message' '
 
 test_expect_success 'rebase -i --root temporary sentinel commit' '
        git checkout B &&
-       FAKE_LINES="2" test_must_fail git rebase -i --root &&
+       (
+               FAKE_LINES="2" &&
+               export FAKE_LINES &&
+               test_must_fail git rebase -i --root
+       ) &&
        git cat-file commit HEAD | grep "^tree 4b825dc642cb" &&
        git rebase --abort
 '