diff options
author | Slaven Rezic <slaven@rezic.de> | 2002-03-19 22:47:49 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-03-19 21:47:02 +0000 |
commit | 4e51f8e4f6cd83349b32e4186346cc7a189682a2 (patch) | |
tree | 85cb71320535b2a6283ad76641980a467b7c4c43 | |
parent | 9968bb4bad35fe421ed491bb4eed22ab79198eec (diff) | |
download | perl-4e51f8e4f6cd83349b32e4186346cc7a189682a2.tar.gz |
Re: Nearly OK for cygwin@15318
Date: Tue, 19 Mar 2002 21:47:49 +0100
Message-Id: <20020319204958.PTWF27460.mailoutvl21@[192.168.139.30]>
Subject: Re: Nearly OK for cygwin@15318
From: <slaven.rezic@berlin.de>
Date: Tue, 19 Mar 2002 21:37:18 +0100
Message-Id: <20020319203927.PTPI27460.mailoutvl21@[192.168.139.30]>
p4raw-id: //depot/perl@15343
-rw-r--r-- | pod/perlport.pod | 3 | ||||
-rwxr-xr-x | t/io/fs.t | 28 |
2 files changed, 27 insertions, 4 deletions
diff --git a/pod/perlport.pod b/pod/perlport.pod index 9ca3f15e8c..5edbf27031 100644 --- a/pod/perlport.pod +++ b/pod/perlport.pod @@ -1440,6 +1440,9 @@ Only good for changing "owner" and "other" read-write access. (S<RISC OS>) Access permissions are mapped onto VOS access-control list changes. (VOS) +The actual permissions set depend on the value of the C<CYGWIN> +environment variable. (Cygwin) + =item chown LIST Not implemented. (S<Mac OS>, Win32, Plan9, S<RISC OS>, VOS) @@ -41,6 +41,9 @@ my $needs_fh_reopen = $needs_fh_reopen = 1 if (defined &Win32::IsWin95 && Win32::IsWin95()); +my $skip_mode_checks = + $^O eq 'cygwin' && $ENV{CYGWIN} !~ /ntsec/; + plan tests => 36; @@ -93,8 +96,13 @@ SKIP: { SKIP: { skip "hard links not that hard in $^O", 1 if $^O eq 'amigaos'; + skip "no mode checks", 1 if $skip_mode_checks; - is($mode & 0777, 0666, "mode of triply-linked file"); + if ($^O eq 'cygwin') { # new files on cygwin get rwx instead of rw- + is($mode & 0777, 0777, "mode of triply-linked file"); + } else { + is($mode & 0777, 0666, "mode of triply-linked file"); + } } } @@ -108,7 +116,11 @@ SKIP: { ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, $blksize,$blocks) = stat('c'); - is($mode & 0777, $newmode, "chmod going through"); + SKIP: { + skip "no mode checks", 1 if $skip_mode_checks; + + is($mode & 0777, $newmode, "chmod going through"); + } $newmode = 0700; chmod 0444, 'x'; @@ -119,12 +131,20 @@ SKIP: { ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, $blksize,$blocks) = stat('c'); - is($mode & 0777, $newmode, "chmod going through to c"); + SKIP: { + skip "no mode checks", 1 if $skip_mode_checks; + + is($mode & 0777, $newmode, "chmod going through to c"); + } ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime, $blksize,$blocks) = stat('x'); - is($mode & 0777, $newmode, "chmod going through to x"); + SKIP: { + skip "no mode checks", 1 if $skip_mode_checks; + + is($mode & 0777, $newmode, "chmod going through to x"); + } is(unlink('b','x'), 2, "unlink two files"); |