Re: [PATCH] test-lib: use subshell instead of cd $new && .. && cd $old
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Aug 31, 2010, 18:11 UTC
- Message-ID
- <AANLkTim7KWTR0FhnucZ7ROujZ-c7=y80Wz7UnR=+hsgZ@mail.gmail.com>
- In-Reply-To
- <7vaao2br58.fsf@alter.siamese.dyndns.org>
On Tue, Aug 31, 2010 at 17:58, Junio C Hamano <gitster@pobox.com> wrote:
Show 36 quoted lines
> Jonathan Nieder <jrnieder@gmail.com> writes:
>
>> Ævar Arnfjörð Bjarmason wrote:
>>
>>> +++ b/t/test-lib.sh
>>> @@ -687,14 +687,12 @@ test_when_finished () {
>>> test_create_repo () {
>>> test "$#" = 1 ||
>>> error "bug in the test script: not 1 parameter to test-create-repo"
>>> - owd=`pwd`
>>> repo="$1"
>>> mkdir -p "$repo"
>>> - cd "$repo" || error "Cannot setup test environment"
>>> + (cd "$repo" || error "Cannot setup test environment"
>>> "$GIT_EXEC_PATH/git-init" "--template=$GIT_BUILD_DIR/templates/blt/" >&3 2>&4 ||
>>> error "cannot run git init -- have you built things yet?"
>>> - mv .git/hooks .git/hooks-disabled
>>> - cd "$owd"
>>> + mv .git/hooks .git/hooks-disabled)
>>
>> Style: why not use
>>
>> (
>> cd "$repo" ...
>> ... .git/hooks-disabled
>> )
>
> That is a sensible suggestion, but what does "error" do?
>
> I think you would need || exit at the end, i.e.
>
> (
> ... || error "..."
> ) || exit
>
> or something.Good catch, yes. error() calls exit so this patch as-is introduces a logic error.