Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

57 lines (40 sloc) 1.001 kb
#!perl
use Test::More;
use Net::LDAP qw(LDAP_UNAVAILABLE);
my $devnull = eval { require File::Spec; File::Spec->devnull } || "/dev/null";
(-e $devnull)
? plan tests => 5
: plan skip_all => 'no null device';
$::destroy = 0;
{
my $ldap = Net::LDAP::Dummy->new("host", async => 1);
$ldap->bind; # create an internal ref loop
note(explain($ldap->inner)) if $ENV{TEST_VERBOSE};
}
ok($::destroy, '');
my $ref;
my $mesg;
$::destroy = 0;
{
my $ldap = Net::LDAP::Dummy->new("host", async => 1);
$mesg = $ldap->bind; # create an internal ref loop
$ref = $ldap->inner->outer;
is($ref == $ldap, '');
}
ok(!$::destroy, '');
$ref = undef;
ok($mesg->code == LDAP_UNAVAILABLE, '');
undef $mesg;
ok($::destroy, '');
package Net::LDAP::Dummy;
use IO::File;
BEGIN { @ISA = qw(Net::LDAP); }
sub connect_ldap {
my $ldap = shift;
$ldap->{net_ldap_socket} = IO::File->new("+> $devnull");
}
sub DESTROY {
my $self = shift;
$::destroy = 1 unless tied(%$self);
$self->SUPER::DESTROY;
}
Jump to Line
Something went wrong with that request. Please try again.