> Failures:
 > cygwin       stdio/perlio     -Uuseperlio
 >     ext/NDBM_File/ndbm...................FAILED at test 2
 >     ext/ODBM_File/odbm...................FAILED at test 2
 > .../ext/NDBM_File/ndbm....FAILED test 2
 > .../ext/ODBM_File/odbm....FAILED test 2

Why ?

$ touch t
$ chmod 640 t
$ ls -l t
-rw-r--r--    1 Administ Aucun           0 Sep 10 14:00 t
$ export CYGWIN="ntsec $CYGWIN"
$ chmod 640 t
$ ls -l t
-rw-r-----    1 Administ Aucun           0 Sep 10 14:00 t
$ uname -a
CYGWIN_NT-4.0 NT 1.3.12(0.54/3/2) 2002-07-06 02:16 i686 unknown

Perms on files work on Cygwin only on NT and only if ntsec is defined in 
var env CYGWIN. Perms doesn't work on win9x on cygwin.

PATCH:

diff -ru perl-current-orig/ext/NDBM_File/ndbm.t 
perl-current/ext/NDBM_File/ndbm.t
--- perl-current-orig/ext/NDBM_File/ndbm.t      Thu Aug 22 13:56:04 2002
+++ perl-current/ext/NDBM_File/ndbm.t   Tue Sep 10 14:51:28 2002
@@ -40,7 +40,14 @@
  if (! -e $Dfile) {
         ($Dfile) = <Op.dbmx*>;
  }
-if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 
'NetWare' || $^O eq 'MacOS') {
+
+if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 
'NetWare' || $^O eq 'MacOS'
+    # File permission work on Cygwin only on NT
+    # and if $ENV{CYGWIN} contain ntsec
+    || ($^O eq 'cygwin' && $ENV{OS} ne "Windows_NT")
+    || ($^O eq 'cygwin' && $ENV{OS} eq "Windows_NT"
+       && $ENV{CYGWIN}!~/ntsec/)
+   ) {
      print "ok 2 # Skipped: different file permission semantics\n";
  }
  else {
diff -ru perl-current-orig/ext/ODBM_File/odbm.t 
perl-current/ext/ODBM_File/odbm.t
--- perl-current-orig/ext/ODBM_File/odbm.t      Thu Aug 22 13:56:04 2002
+++ perl-current/ext/ODBM_File/odbm.t   Tue Sep 10 14:58:06 2002
@@ -40,7 +40,13 @@
  if (! -e $Dfile) {
         ($Dfile) = <Op.dbmx*>;
  }
-if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 
'NetWare') {
+if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 
'NetWare' || $^0 eq 'MacOS'
+    # File permission work on Cygwin only on NT
+    # and if $ENV{CYGWIN} contain ntsec
+    || ($^O eq 'cygwin' && $ENV{OS} ne "Windows_NT")
+    || ($^O eq 'cygwin' && $ENV{OS} eq "Windows_NT"
+       && $ENV{CYGWIN}!~/ntsec/)
+   ) {
      print "ok 2 # Skipped: different file permission semantics\n";
  }
  else {

Reply via email to