The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use Test::More;
use t::Redis;

test_redis {
    my ($r, $port) = @_;

    # make a new redis object using wrong port
    my $redis = AnyEvent::Redis->new(host => "127.0.0.1", port => Test::TCP::empty_port());

    # should fail
    eval { $redis->info->recv; };

    # fix the port and try again
    $redis->{port} = $port;

    my $info = $redis->info->recv;

    ok $info->{redis_version}, "got response after reconnect";
};

done_testing;