#!perl -w
$^W=1;
require 5.005;
use strict;
use integer;
use Test;
BEGIN { plan tests => 21 };
BEGIN
{
=head1
require re; # load arch-dependend modules before @INC stripping
use Config; my $archname = $Config{'archname'};
foreach (my $i=0; $i < @INC; ++$i) # strip arch paths from @INC
{
if ( $INC[$i] =~ m{$archname$}o )
{
splice(@INC, $i, 1);
redo;
}
}
=cut
}
use File::Stat::Bits;
ok(1);#1
ok(S_ISDIR (S_IFDIR ));#2
ok(S_ISCHR (S_IFCHR ));#3
ok(S_ISBLK (S_IFBLK ));#4
ok(S_ISREG (S_IFREG ));#5
ok(S_ISFIFO(S_IFIFO ));#6
ok(S_ISLNK (S_IFLNK ));#7
ok(S_ISSOCK(S_IFSOCK));#8
ok( S_IRWXU == (S_IRUSR|S_IWUSR|S_IXUSR) );# 9
ok( S_IRWXG == (S_IRGRP|S_IWGRP|S_IXGRP) );#10
ok( S_IRWXO == (S_IROTH|S_IWOTH|S_IXOTH) );#11
ok( ACCESSPERMS == (S_IRWXU|S_IRWXG|S_IRWXO) );#12
ok( ALLPERMS == (S_ISUID|S_ISGID|S_ISVTX|ACCESSPERMS) );#13
my $ifmt = (S_IFDIR|S_IFCHR|S_IFBLK|S_IFREG|S_IFIFO|S_IFLNK|S_IFSOCK);
ok( ($ifmt & ~S_IFMT) == 0 );#14
use File::stat;
my $st = stat($0) or die "Can't stat $0: $!\n";
ok(S_ISREG($st->mode));#15
ok( ($st->mode & (S_IRUSR|S_IRGRP|S_IROTH)) != 0 );# 16
sub is_int { my $arg = shift; return scalar($arg =~ m/^\d+$/) }
if ( defined major(0) )
{
my ($major, $minor) = dev_split( $st->rdev );
ok( is_int($major) and is_int($minor) );#17
ok( dev_join($major, $minor) == $st->rdev );#18
ok( $major == major($st->rdev) );#19
ok( $minor == minor($st->rdev) );#20
}
else
{
ok(1);#17
ok(1);#18
ok(1);#19
ok(1);#20
}
$st = stat('/') or die "Can't stat /: $!\n";
ok(S_ISDIR($st->mode));#21
syntax highlighted by Code2HTML, v. 0.9.1