Re: [PATCH 2/2] test-lib.sh: Dynamic test for the prerequisite SANITY
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 28, 2015, 17:38 UTC
- Message-ID
- <CAPc5daVAGOnu3pe_r=GuDXp1kNkJgbCqP-qD38kXmdEJa3ZSFQ@mail.gmail.com>
- In-Reply-To
- <54C89DC8.1050805@web.de>
On Wed, Jan 28, 2015 at 12:28 AM, Torsten Bögershausen <tboegi@web.de> wrote:
Show 19 quoted lines
> On 27.01.15 23:20, Junio C Hamano wrote: > >> How about extending it like this (not tested)? > Thanks, this looks good: the test is more extensive, > I can test this next week. > >> >> -- >8 -- >> From: Torsten Bögershausen <tboegi@web.de> >> Date: Tue, 27 Jan 2015 16:39:01 +0100 >> Subject: [PATCH] test-lib.sh: set prerequisite SANITY by testing what we really need >> >> What we wanted out of the SANITY precondition is that the filesystem >> behaves sensibly with permission bits settings. >> >> - You should not be able to remove a file in a read-only directory, >> >> - You should not be able to tell if a file in a directory exists if >> the directory lacks read or execute permission bits.
Forgot one thing. I do not offhand know if tests that needs SANITY depends on this, but we may also want to check for this:
- You should not be able to write to a file that is marked as read-only.
by adding something like
>sanitytest && chmod -w sanitytest && ! echo boo >sanitytest && ! test -s sanitytest"
in the mix.
Show 11 quoted lines
>> >> We used to cheat by approximating that condition with "is the / >> writable?" test and/or "are we running as root?" test. Neither test >> is sufficient or appropriate in more exotic environments like >> Cygwin. > How about going this direction: > > We used to cheat by approximating that condition with "is the / > writable?" test and/or "are we running as root?" test. Neither test > is sufficient or appropriate, especially in environments like > Cygwin, Mingw or Mac OS X.
OK, but MacOS X does not have SANITY problem; "is the / writable?" test was misdetecting and declaring a system with SANITY does not have one.
Perhaps roll Cygwin and Mingw into a single Windows category? I dunno.