Jonathan Nieder [off-list ref] writes:
Junio C Hamano wrote:
quoted
Moving to some other directory and letting the remainder of the test
pieces to expect that they start there is a bad practice.
I agree with the above, and I like the patch...
quoted
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?
Junio C Hamano wrote:
Jonathan Nieder [off-list ref] writes:
quoted
quoted
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