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;
        }

t/file.t  view on Meta::CPAN

    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 1.050 second using v1.01-cache-2.11-cpan-49f99fa48dc )