Subject: Re: [PATCH 1/2] t0003: do not chdir the whole test process

From: Jonathan Nieder <[email-masked]>
Date: Thu, 6 Feb 2014 12:31:01 -0800

Junio C Hamano wrote:
> Jonathan Nieder <[email-masked]> writes:

>>>                                                            The test
>>> that contains chdir itself may fail (or by mistake skipped via the
>>> GIT_SKIP_TESTS mechanism) in which case the remainder may operate on
>>> files in unexpected places.
>>
>> ... but this logic seems wrong.  I don't think we've ever supported
>> setup tests failing or being skipped in the past.
>
> The first set-up test, yes, but something in the middle added as an
> afterthought?

Even set-up in the middle added as an afterthought, yes.

For a while I've been wanting to teach GIT_SKIP_TESTS not to skip
tests with 'setup' or 'set up' in their name, but I never got around
to it.  If I try to skip the setup test this patch touches, then there
is no bare.git and lots of later tests fail.  Perhaps it would be
better for each test to do

	rm -fr bare.git &&
	git clone --bare . bare.git &&
	(
		cd bare.git &&
		...
	)

for itself to make the state easier to think about.

On the other hand I agree that the 'cd' here is a bad practice.  I
just don't think it's about skipping setup --- instead, it's about it
being hard to remember the cwd in general.

Thanks,
Jonathan