App-CriticDB
view release on metacpan or search on metacpan
t/app/criticdb/db/stor.t view on Meta::CPAN
my $db=App::CriticDB::DB->new(mode=>'file',file=>$fn,type=>'storable');
sleep(1); # ensure mtime tick
open(my $dupfh,'>',$fn);
print $dupfh "\n";
close($dupfh);
eval {$db->write()};
like($@,qr/changed underneath/,'Refuse write if file changed');
#
unlink($fn);
$db->write();
chmod(oct('0400'),$fn);
# Skip this check on non-posix or if running as root
if(!defined($>)||($>==0)) { pass('No write permissions (skipped)') }
else { eval {$db->write()}; like($@,qr/Failed to open/,'No write permissions') }
};
( run in 1.091 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )