return 1;
}
- my $result = <$sock> || die "can't read socket: $!";
+ my $result = <$sock>;
+ if ( !$result ) {
+ $self->{sock} = $sock = IO::Socket::INET->new(
+ PeerAddr => $self->{server},
+ Proto => 'tcp',
+ ) || die $!;
+
+ print $sock $send;
+
+ $result = <$sock> || die "can't read socket: $!";
+ }
Encode::_utf8_on($result);
warn "<< $result" if $self->{debug};
my $type = substr($result,0,1);
use warnings;
use strict;
-use Test::More tests => 110;
+use Test::More tests => 111;
use Data::Dumper;
use lib 'lib';
cmp_ok( $o->get( 'foo' ), 'eq', 'bar', 'get foo = bar' );
+SKIP: {
+ skip "set REDIS_RESTART to init script location to test reconnect code", 1 unless $ENV{REDIS_RESTART};
+
+ diag( 'Restarting redis server' );
+ $o->save();
+
+ `sudo $ENV{REDIS_RESTART} restart`;
+
+ cmp_ok( $o->get( 'foo' ), 'eq', 'bar', 'get foo = bar still works after restart' );
+}
+
ok( $o->set( foo => 'baz' ), 'set foo => baz' );
cmp_ok( $o->get( 'foo' ), 'eq', 'baz', 'get foo = baz' );
ok( ! keys %h, 'empty' );
+my $commands_processed_before = $o->info->{total_commands_processed};
+
ok( %h = ( 'foo' => 42, 'bar' => 1, 'baz' => 99 ), '=' );
is_deeply( [ sort keys %h ], [ 'bar', 'baz', 'foo' ], 'keys' );
is_deeply( \%h, { bar => 1, baz => 99, foo => 42, }, 'structure' );
-ok( my $mem = $o->info->{used_memory}, 'info' );
-diag "used memory $mem";
-
+ok( $commands_processed_before < $o->info->{total_commands_processed}, 'more processed commands than before' );