Subject: Re: t5539 broken under Mac OS X

From: Torsten Bögershausen <[email-masked]>
Date: Wed, 14 Jan 2015 20:50:47 +0100

On 2015-01-14 19.37, Junio C Hamano wrote:
> Torsten Bögershausen <[email-masked]> writes:
> 
>> t5539 doesn't seem to work as expected under Mac OX X 10.6
>> (10.9 is OK)
>>
>> I am not root.
>> Are there any ideas how we can improve the situation, or how to debug ?
> 
> As to "how to debug", the first step is to grep for that message and
> notice that it comes from here:
> 
> t/lib-httpd.sh:
> 
>     if ! test_have_prereq SANITY; then
>             test_skip_or_die $GIT_TEST_HTTPD \
>                     "Cannot run httpd tests as root"
>     fi
> 
> and then grep for SANITY to find:
> 
> t/test-lib.sh:
> 
>     # When the tests are run as root, permission tests will report that
>     # things are writable when they shouldn't be.
>     test -w / || test_set_prereq SANITY
> 
> It appears that the check in lib-httpd.sh thinks you lack SANITY; is
> the root directory of your system somehow writable by you?
> 
Yes, that was a good hint, thanks.
The "problem" is that I am Admin on one machine, but not on the other,
and / was writable for the admin group for some reasons, and only on this machine.

But, why does e.g. t0004 behave more gracefully (and skips) and t5539 just dies ?

./t0004-unwritable.sh 
ok 1 - setup
ok 2 # skip write-tree should notice unwritable repository (missing SANITY of POSIXPERM,SANITY)

(And after changing the group of / t5539 passes, and so does t0004)