Re: [RFC] test-lib.sh: No POSIXPERM for cygwin
Am 2013-02-06 10:34, schrieb Erik Faye-Lund:
Show 6 quoted lines
> On Sun, Jan 27, 2013 at 3:57 PM, Torsten Bögershausen <tboegi@web.de> wrote:
>> t0070 and t1301 fail when running the test suite under cygwin.
>> Skip the failing tests by unsetting POSIXPERM.
>>
>
> But is this the real reason? I thought Cygwin implemented POSIX permissions...?
t0070:
'mktemp to unwritable directory prints filename'
mkdir cannotwrite &&
chmod -w cannotwrite &&
test_when_finished "chmod +w cannotwrite" &&
test_must_fail test-mktemp cannotwrite/testXXXXXX 2>err &&
grep "cannotwrite/test" err
When a directory under Linux/*nix has no write permission, it is not allowed to create another directory (or file..) here. This is not working under cygwin, a directory/file can be created even if the parent directory has chmod 0. ------------- tb@PC /cygdrive/c/temp $ mkdir ttt
tb@PC /cygdrive/c/temp $ chmod 0 ttt
tb@PC /cygdrive/c/temp $ ls -ld ttt d---------+ 1 tb None 0 Feb 6 20:33 ttt
tb@PC /cygdrive/c/temp $ touch ttt/x
tb@PC /cygdrive/c/temp $ ls -ld ttt d---------+ 1 tb None 0 Feb 6 20:33 ttt
tb@PC /cygdrive/c/temp $ ls -l ttt total 0 -rw-r--r--+ 1 tb None 0 Feb 6 20:33 x -------------------------------------------
If this is POSIX compliant? I'm not an expert here. On the other hand: This test case does not test git, but rather the file system, so we can probaly remove it?
About 1301: Some resereach needs to be done, to find out the connection between umask, cygwin and the mount options.
On my system I have:
$mount
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
/Torsten