use DBICTest;
use Storable qw(dclone freeze nfreeze thaw);
use Scalar::Util qw/refaddr/;
+use Carp;
sub ref_ne {
- my ($refa, $refb) = map { refaddr $_ or die "$_ is not a reference!" } @_[0,1];
+ my ($refa, $refb) = map { refaddr $_ or croak "$_ is not a reference!" } @_[0,1];
cmp_ok (
$refa,
'!=',
return $fire;
},
- ($ENV{DBICTEST_MEMCACHED})
- ? do {
- require Cache::Memcached;
- my $memcached = Cache::Memcached->new(
- { servers => [ $ENV{DBICTEST_MEMCACHED} ] } );
-
- my $key = 'tmp_dbic_84serialize_memcached_test';
-
- ( memcached => sub {
- $memcached->set( $key, $_[0], 60 );
- local $DBIx::Class::ResultSourceHandle::thaw_schema = $schema;
- return $memcached->get($key);
- });
- } : ()
- ,
);
+if ($ENV{DBICTEST_MEMCACHED}) {
+ if (DBIx::Class::Optional::Dependencies->req_ok_for ('test_memcached')) {
+ my $memcached = Cache::Memcached->new(
+ { servers => [ $ENV{DBICTEST_MEMCACHED} ] }
+ );
+
+ my $key = 'tmp_dbic_84serialize_memcached_test';
+
+ $stores{memcached} = sub {
+ $memcached->set( $key, $_[0], 60 )
+ or die "Unable to insert into $ENV{DBICTEST_MEMCACHED} - is server running?";
+ local $DBIx::Class::ResultSourceHandle::thaw_schema = $schema;
+ return $memcached->get($key);
+ };
+ }
+ else {
+ SKIP: {
+ skip 'Memcached tests need ' . DBIx::Class::Optional::Dependencies->req_missing_for ('test_memcached'), 1;
+ }
+ }
+}
+else {
+ SKIP: {
+ skip 'Set $ENV{DBICTEST_MEMCACHED} to run the memcached serialization tests', 1;
+ }
+}
+
+
+
for my $name (keys %stores) {
my $store = $stores{$name};