/usr/share/perl5/CHI/t/GetError.pm is in libchi-perl 0.58-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | package CHI::t::GetError;
{
$CHI::t::GetError::VERSION = '0.58';
}
use strict;
use warnings;
use CHI::Test;
use CHI::Test::Util qw(activate_test_logger);
use base qw(CHI::Test::Class);
sub writeonly_cache {
my ($on_get_error) = @_;
return CHI->new(
# leave as driver_class rather than driver to test back compat
driver_class => 'CHI::Test::Driver::Writeonly',
on_get_error => $on_get_error,
global => 1,
);
}
sub test_get_errors : Tests {
my ( $key, $value ) = ( 'medium', 'medium' );
my $error_pattern =
qr/error during cache get for namespace='.*', key='medium'.*: write-only cache/;
my $log = activate_test_logger();
my $cache;
$cache = writeonly_cache('ignore');
$cache->set( $key, $value );
ok( !defined( $cache->get($key) ), "ignore - miss" );
$cache = writeonly_cache('die');
$cache->set( $key, $value );
throws_ok( sub { $cache->get($key) }, $error_pattern, "die - dies" );
$log->clear();
$cache = writeonly_cache('log');
$cache->set( $key, $value );
ok( !defined( $cache->get($key) ), "log - miss" );
$log->contains_ok(qr/cache set for .* key='medium'/);
$log->contains_ok($error_pattern);
$log->empty_ok();
my ( $err_msg, $err_key );
$cache = writeonly_cache(
sub {
( $err_msg, $err_key ) = @_;
}
);
$cache->set( $key, $value );
ok( !defined( $cache->get($key) ), "custom - miss" );
like( $err_msg, $error_pattern, "custom - got msg" );
is( $err_key, $key, "custom - got key" );
throws_ok(
sub { writeonly_cache('bad') },
qr/Validation failed for|isa check for .* failed/,
"bad - dies"
);
}
1;
|