Subject: Re: [PATCH] t7507-*.sh: Fix test #8 (could not run '"$FAKE_EDITOR"')

From: Ramsay Jones <[email-masked]>
Date: Wed, 20 Nov 2013 19:35:01 +0000

On 20/11/13 17:22, Junio C Hamano wrote:
> Ramsay Jones <[email-masked]> writes:
> 
>> Signed-off-by: Ramsay Jones <[email-masked]>
>> ---
>>
>> Hi Jens,
>>
>> commit 61b6a633 ("commit -v: strip diffs and submodule shortlogs
>> from the commit message", 19-11-2013) in 'pu' fails the new test
>> it added to t7507.
>>
>> I didn't spend too long looking at the problem, so take this patch
>> as nothing more than a quick suggestion for a possible solution! :-P
>> [The err file contained something like: "There was a problem with the
>> editor '"$FAKE_EDITOR"'"].
>>
>> Having said that, this fixes it for me ...
> 
> Well spotted.  test_must_fail being a shell function, not a command,
> we shouldn't have used the "VAR=val cmd" one-shot environment
> assignment for portability.
> 
> Even though this happens to be the last test in the script, using
> test_set_editor to permanently affect the choice of editor for tests
> that follow is not generally a good idea.  It would be safer to do
> this, I would have to say:
> 
> 		git commit -a -m "submodule commit"
> 	) &&
>         (
> 		GIT_EDITOR=cat &&
>                 export GIT_EDITOR &&
>                 test_must_fail git commit -a -v 2>err
> 	) &&
>         test_i18ngrep "Aborting ..."

Yes, this works great (and I very nearly wrote exactly this, but since
the test was using test_set_editor anyway ...) :-D

Thanks.

ATB,
Ramsay Jones