Cache
view release on metacpan or search on metacpan
inc/Devel/CheckOS.pm view on Meta::CPAN
die($@) if($@);
if (!$re_Devel) {
my $case_flag = File::Spec->case_tolerant ? '(?i)' : '';
$re_Devel = qr/$case_flag ^Devel$/x;
$re_AssertOS = qr/$case_flag ^AssertOS$/x;
}
# sort by mtime, so oldest last
my @modules = sort {
(stat($a->{file}))[9] <=> (stat($b->{file}))[9]
} map {
my (undef, $dir_part, $file_part) = File::Spec->splitpath($_);
$file_part =~ s/\.pm$//;
my (@dirs) = grep {+length} File::Spec->splitdir($dir_part);
foreach my $i (reverse 1..$#dirs) {
next unless $dirs[$i] =~ $re_AssertOS
&& $dirs[$i - 1] =~ $re_Devel;
splice @dirs, 0, $i + 1;
last;
}
ok($cache, 'Cache created');
my $entry = $cache->set('key1', 'data1');
is($cache->count(), 1, 'Added entry');
my $valid = 0;
sub wanted {
return if $_ eq $tempdir;
my (undef, undef, $mode) = lstat($_) or die "lstat failed";
$mode &= 0777;
(-d and $mode == 0707) or (not -d and $mode == 0606)
or die 'bad permissions ('.sprintf('%04o', $mode).") on $_";
}
eval { File::Find::find({ wanted => \&wanted, no_chdir => 1 }, $tempdir) };
die if ($@ and $@ !~ /^bad permissions/);
warn $@ if $@;
ok((not $@), "Permissions are good");
}
( run in 0.968 second using v1.01-cache-2.11-cpan-49f99fa48dc )