The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

#!perl -w
BEGIN {
for (1,2) { require Net::LDAP::Constant; }
}
use Net::LDAP::Util qw(ldap_error_name);;
my @constant = qw(
LDAP_SUCCESS
LDAP_OPERATIONS_ERROR
LDAP_PROTOCOL_ERROR
LDAP_TIMELIMIT_EXCEEDED
LDAP_SIZELIMIT_EXCEEDED
LDAP_COMPARE_FALSE
LDAP_COMPARE_TRUE
LDAP_STRONG_AUTH_NOT_SUPPORTED
LDAP_STRONG_AUTH_REQUIRED
LDAP_PARTIAL_RESULTS
LDAP_REFERRAL
LDAP_ADMIN_LIMIT_EXCEEDED
LDAP_UNAVAILABLE_CRITICAL_EXT
LDAP_CONFIDENTIALITY_REQUIRED
LDAP_SASL_BIND_IN_PROGRESS
15
LDAP_NO_SUCH_ATTRIBUTE
LDAP_UNDEFINED_TYPE
LDAP_INAPPROPRIATE_MATCHING
LDAP_CONSTRAINT_VIOLATION
LDAP_TYPE_OR_VALUE_EXISTS
LDAP_INVALID_SYNTAX
22
23
24
25
26
27
28
29
30
31
LDAP_NO_SUCH_OBJECT
LDAP_ALIAS_PROBLEM
LDAP_INVALID_DN_SYNTAX
LDAP_IS_LEAF
LDAP_ALIAS_DEREF_PROBLEM
37
38
39
40
41
42
43
44
45
46
LDAP_PROXY_AUTHZ_FAILURE
LDAP_INAPPROPRIATE_AUTH
LDAP_INVALID_CREDENTIALS
LDAP_INSUFFICIENT_ACCESS
LDAP_BUSY
LDAP_UNAVAILABLE
LDAP_UNWILLING_TO_PERFORM
LDAP_LOOP_DETECT
55
56
57
58
59
LDAP_SORT_CONTROL_MISSING
LDAP_INDEX_RANGE_ERROR
62
63
LDAP_NAMING_VIOLATION
LDAP_OBJECT_CLASS_VIOLATION
LDAP_NOT_ALLOWED_ON_NONLEAF
LDAP_NOT_ALLOWED_ON_RDN
LDAP_ALREADY_EXISTS
LDAP_NO_OBJECT_CLASS_MODS
LDAP_RESULTS_TOO_LARGE
LDAP_AFFECTS_MULTIPLE_DSAS
72
73
74
75
LDAP_VLV_ERROR
77
78
79
LDAP_OTHER
LDAP_SERVER_DOWN
LDAP_LOCAL_ERROR
LDAP_ENCODING_ERROR
LDAP_DECODING_ERROR
LDAP_TIMEOUT
LDAP_AUTH_UNKNOWN
LDAP_FILTER_ERROR
LDAP_USER_CANCELED
LDAP_PARAM_ERROR
LDAP_NO_MEMORY
LDAP_CONNECT_ERROR
LDAP_NOT_SUPPORTED
LDAP_CONTROL_NOT_FOUND
LDAP_NO_RESULTS_RETURNED
LDAP_MORE_RESULTS_TO_RETURN
LDAP_CLIENT_LOOP
LDAP_REFERRAL_LIMIT_EXCEEDED
);
plan tests => scalar(@constant);
my $i = 0;
while (my $const = $constant[$i]) {
my $name = ldap_error_name($i);
$const = sprintf("LDAP error code %d(0x%02X)",$i,$i) unless $const =~ /\D/;
ok($name && $name eq $const, "$const");
++$i;
}