git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.
Previous: Torsten BögershausenNext: Torsten Bögershausen
Message 5 of 7 in “test-lib.sh: Dynamic test for the prerequisite SANITY”
  1. 2/2 test-lib.sh: Dynamic test for the prerequisite SANITYTorsten Bögershausen, Jan 27, 2015
  2. Chris PackhamJan 27, 2015
  3. Junio C HamanoJan 27, 2015
  4. Torsten BögershausenJan 28, 2015
  5. Junio C HamanoJan 28, 2015
  6. Torsten BögershausenJan 28, 2015
  7. Junio C HamanoJan 28, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.