You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by bn...@apache.org on 2005/01/11 20:43:14 UTC
svn commit: r124917 - apr/apr-util/trunk/test
Author: bnicholes
Date: Tue Jan 11 11:43:12 2005
New Revision: 124917
URL: http://svn.apache.org/viewcvs?view=rev&rev=124917
Log:
Add the NetWare build files and a test suite for the LDAP APIs
Added:
apr/apr-util/trunk/test/NWGNUmakefile
apr/apr-util/trunk/test/nw_misc.c
apr/apr-util/trunk/test/nwgnuaputest
apr/apr-util/trunk/test/testldap.c
Modified:
apr/apr-util/trunk/test/Makefile.in
apr/apr-util/trunk/test/abts_tests.h
apr/apr-util/trunk/test/testutil.h
Modified: apr/apr-util/trunk/test/Makefile.in
Url: http://svn.apache.org/viewcvs/apr/apr-util/trunk/test/Makefile.in?view=diff&rev=124917&p1=apr/apr-util/trunk/test/Makefile.in&r1=124916&p2=apr/apr-util/trunk/test/Makefile.in&r2=124917
==============================================================================
--- apr/apr-util/trunk/test/Makefile.in (original)
+++ apr/apr-util/trunk/test/Makefile.in Tue Jan 11 11:43:12 2005
@@ -64,7 +64,7 @@
$(LINK) $(APRUTIL_LDFLAGS) $(testxlate_OBJECTS) $(testxlate_LDADD) $(PROGRAM_DEPENDENCIES)
testall_OBJECTS = teststrmatch.lo testuri.lo testuuid.lo abts.lo testutil.lo \
- testbuckets.lo testpass.lo testmd4.lo testmd5.lo
+ testbuckets.lo testpass.lo testmd4.lo testmd5.lo testldap.lo
testall_LDADD = $(TARGET_LIB_PATH)
testall: $(testall_OBJECTS) $(testall_LDADD)
$(LINK) $(APRUTIL_LDFLAGS) $(testall_OBJECTS) $(testall_LDADD) $(PROGRAM_DEPENDENCIES)
Added: apr/apr-util/trunk/test/NWGNUmakefile
Url: http://svn.apache.org/viewcvs/apr/apr-util/trunk/test/NWGNUmakefile?view=auto&rev=124917
==============================================================================
--- (empty file)
+++ apr/apr-util/trunk/test/NWGNUmakefile Tue Jan 11 11:43:12 2005
@@ -0,0 +1,258 @@
+#
+# Declare the sub-directories to be built here
+#
+
+SUBDIRS = \
+ $(EOLIST)
+
+#
+# Get the 'head' of the build environment. This includes default targets and
+# paths to tools
+#
+
+include $(APR_WORK)\build\NWGNUhead.inc
+
+#
+# build this level's files
+
+#
+# Make sure all needed macro's are defined
+#
+
+
+#
+# These directories will be at the beginning of the include list, followed by
+# INCDIRS
+#
+XINCDIRS += \
+ $(APR)/include \
+ $(APR)/include/arch/NetWare \
+ $(EOLIST)
+
+#
+# These flags will come after CFLAGS
+#
+XCFLAGS += \
+ $(EOLIST)
+
+#
+# These defines will come after DEFINES
+#
+XDEFINES += \
+ $(EOLIST)
+
+#
+# These flags will be added to the link.opt file
+#
+XLFLAGS += \
+ $(EOLIST)
+
+#
+# These values will be appended to the correct variables based on the value of
+# RELEASE
+#
+ifeq "$(RELEASE)" "debug"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+
+endif
+
+ifeq "$(RELEASE)" "noopt"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "release"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+#
+# These are used by the link target if an NLM is being generated
+# This is used by the link 'name' directive to name the nlm. If left blank
+# TARGET_nlm (see below) will be used.
+#
+NLM_NAME =
+
+#
+# This is used by the link '-desc ' directive.
+# If left blank, NLM_NAME will be used.
+#
+NLM_DESCRIPTION = NLM is to test the apu layer
+
+#
+# This is used by the '-threadname' directive. If left blank,
+# NLM_NAME Thread will be used.
+#
+NLM_THREAD_NAME =
+
+#
+# This is used by the '-screenname' directive. If left blank,
+# 'Apache for NetWare' Thread will be used.
+#
+NLM_SCREEN_NAME =
+
+#
+# If this is specified, it will override VERSION value in
+# $(APR_WORK)\build\NWGNUenvironment.inc
+#
+NLM_VERSION =
+
+#
+# If this is specified, it will override the default of 64K
+#
+NLM_STACK_SIZE =
+
+#
+# If this is specified it will be used by the link '-entry' directive
+#
+NLM_ENTRY_SYM =
+
+#
+# If this is specified it will be used by the link '-exit' directive
+#
+NLM_EXIT_SYM =
+
+#
+# If this is specified it will be used by the link '-check' directive
+#
+NLM_CHECK_SYM =
+
+#
+# If this is specified it will be used by the link '-flags' directive
+#
+NLM_FLAGS =
+
+#
+# If this is specified it will be linked in with the XDCData option in the def
+# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
+# be disabled by setting APACHE_UNIPROC in the environment
+#
+XDCDATA =
+
+#
+# Declare all target files (you must add your files here)
+#
+
+#
+# If there is an NLM target, put it here
+#
+TARGET_nlm = \
+ $(OBJDIR)/aputest.nlm \
+ $(OBJDIR)/testdate.nlm \
+ $(EOLIST)
+#
+# If there is an LIB target, put it here
+#
+TARGET_lib = \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the NLM target above.
+# Paths must all use the '/' character
+#
+FILES_nlm_objs = \
+ $(EOLIST)
+
+#
+# These are the LIB files needed to create the NLM target above.
+# These will be added as a library command in the link.opt file.
+#
+FILES_nlm_libs = \
+ $(EOLIST)
+
+#
+# These are the modules that the above NLM target depends on to load.
+# These will be added as a module command in the link.opt file.
+#
+FILES_nlm_modules = \
+ aprlib \
+ $(EOLIST)
+
+#
+# If the nlm has a msg file, put it's path here
+#
+FILE_nlm_msg =
+
+#
+# If the nlm has a hlp file put it's path here
+#
+FILE_nlm_hlp =
+
+#
+# If this is specified, it will override the default copyright.
+#
+FILE_nlm_copyright =
+
+#
+# Any additional imports go here
+#
+FILES_nlm_Ximports = \
+ $(EOLIST)
+
+#
+# Any symbols exported to here
+#
+FILES_nlm_exports = \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the LIB target above.
+# Paths must all use the '/' character
+#
+FILES_lib_objs = \
+ $(EOLIST)
+
+#
+# implement targets and dependancies (leave this section alone)
+#
+
+libs :: $(OBJDIR) $(TARGET_lib)
+
+nlms :: libs $(TARGET_nlm)
+
+#
+# Updated this target to create necessary directories and copy files to the
+# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+#
+install :: nlms FORCE
+ copy $(OBJDIR)\*.nlm $(INSTALL)\Apache2
+
+#
+# Any specialized rules here
+#
+
+#
+# Include the 'tail' makefile that has targets that depend on variables defined
+# in this makefile
+#
+
+include $(APR_WORK)\build\NWGNUtail.inc
+
Modified: apr/apr-util/trunk/test/abts_tests.h
Url: http://svn.apache.org/viewcvs/apr/apr-util/trunk/test/abts_tests.h?view=diff&rev=124917&p1=apr/apr-util/trunk/test/abts_tests.h&r1=124916&p2=apr/apr-util/trunk/test/abts_tests.h&r2=124917
==============================================================================
--- apr/apr-util/trunk/test/abts_tests.h (original)
+++ apr/apr-util/trunk/test/abts_tests.h Tue Jan 11 11:43:12 2005
@@ -28,7 +28,8 @@
{testbuckets},
{testpass},
{testmd4},
- {testmd5}
+ {testmd5},
+ {testldap}
};
#endif /* APR_TEST_INCLUDES */
Added: apr/apr-util/trunk/test/nw_misc.c
Url: http://svn.apache.org/viewcvs/apr/apr-util/trunk/test/nw_misc.c?view=auto&rev=124917
==============================================================================
--- (empty file)
+++ apr/apr-util/trunk/test/nw_misc.c Tue Jan 11 11:43:12 2005
@@ -0,0 +1,16 @@
+#include <netware.h>
+#include <screen.h>
+#include "testutil.h"
+
+void _NonAppStop( void )
+{
+ pressanykey();
+}
+
+/*
+static void test_not_impl(CuTest *tc)
+{
+ CuNotImpl(tc, "Test not implemented on this platform yet");
+}
+*/
+
Added: apr/apr-util/trunk/test/nwgnuaputest
Url: http://svn.apache.org/viewcvs/apr/apr-util/trunk/test/nwgnuaputest?view=auto&rev=124917
==============================================================================
--- (empty file)
+++ apr/apr-util/trunk/test/nwgnuaputest Tue Jan 11 11:43:12 2005
@@ -0,0 +1,272 @@
+#
+# Make sure all needed macro's are defined
+#
+
+#
+# Get the 'head' of the build environment if necessary. This includes default
+# targets and paths to tools
+#
+
+ifndef EnvironmentDefined
+include $(APR_WORK)\build\NWGNUhead.inc
+endif
+
+#
+# These directories will be at the beginning of the include list, followed by
+# INCDIRS
+#
+XINCDIRS += \
+ $(APR)/include \
+ $(APR)/include/arch/NetWare \
+ $(APRUTIL)/include \
+ $(LDAPSDK)/inc \
+ $(EOLIST)
+
+#
+# These flags will come after CFLAGS
+#
+XCFLAGS += \
+ $(EOLIST)
+
+#
+# These defines will come after DEFINES
+#
+XDEFINES += \
+ $(EOLIST)
+
+#
+# These flags will be added to the link.opt file
+#
+XLFLAGS += \
+ $(EOLIST)
+
+#
+# These values will be appended to the correct variables based on the value of
+# RELEASE
+#
+ifeq "$(RELEASE)" "debug"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "noopt"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "release"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+#
+# These are used by the link target if an NLM is being generated
+# This is used by the link 'name' directive to name the nlm. If left blank
+# TARGET_nlm (see below) will be used.
+#
+NLM_NAME =aputest
+#
+# This is used by the link '-desc ' directive.
+# If left blank, NLM_NAME will be used.
+#
+NLM_DESCRIPTION = NLM is to test the apu layer
+
+#
+# This is used by the '-threadname' directive. If left blank,
+# NLM_NAME Thread will be used.
+#
+NLM_THREAD_NAME = aputest
+
+#
+# This is used by the '-screenname' directive. If left blank,
+# 'Apache for NetWare' Thread will be used.
+#
+NLM_SCREEN_NAME = aputest
+
+#
+# If this is specified, it will override VERSION value in
+# $(APR_WORK)\build\NWGNUenvironment.inc
+#
+NLM_VERSION = 1,0,0
+
+#
+# If this is specified, it will override the default of 64K
+#
+NLM_STACK_SIZE = 524288
+
+#
+# If this is specified it will be used by the link '-entry' directive
+#
+NLM_ENTRY_SYM = _LibCPrelude
+
+#
+# If this is specified it will be used by the link '-exit' directive
+#
+NLM_EXIT_SYM = _LibCPostlude
+
+#
+# If this is specified it will be used by the link '-check' directive
+#
+NLM_CHECK_SYM =
+
+#
+# If this is specified it will be used by the link '-flags' directive
+#
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+
+#
+# If this is specified it will be linked in with the XDCData option in the def
+# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
+# be disabled by setting APACHE_UNIPROC in the environment
+#
+XDCDATA =
+
+#
+# Declare all target files (you must add your files here)
+#
+
+#
+# If there is an NLM target, put it here
+#
+TARGET_nlm = \
+ $(OBJDIR)/aputest.nlm \
+ $(EOLIST)
+
+#
+# If there is an LIB target, put it here
+#
+TARGET_lib = \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the NLM target above.
+# Paths must all use the '/' character
+#
+
+FILES_nlm_objs = \
+ $(OBJDIR)/abts.o \
+ $(OBJDIR)/teststrmatch.o \
+ $(OBJDIR)/testuri.o \
+ $(OBJDIR)/testuuid.o \
+ $(OBJDIR)/testbuckets.o \
+ $(OBJDIR)/testpass.o \
+ $(OBJDIR)/testmd4.o \
+ $(OBJDIR)/testmd5.o \
+ $(OBJDIR)/testldap.o \
+ $(OBJDIR)/testutil.o \
+ $(OBJDIR)/nw_misc.o \
+ $(EOLIST)
+
+# Pending tests
+
+#
+# These are the LIB files needed to create the NLM target above.
+# These will be added as a library command in the link.opt file.
+#
+FILES_nlm_libs = \
+ libcpre.o \
+ $(EOLIST)
+
+#
+# These are the modules that the above NLM target depends on to load.
+# These will be added as a module command in the link.opt file.
+#
+FILES_nlm_modules = \
+ Libc \
+ APRLIB \
+ lldapsdk \
+ lldapssl \
+ lldapx \
+ $(EOLIST)
+
+#
+# If the nlm has a msg file, put it's path here
+#
+FILE_nlm_msg =
+
+#
+# If the nlm has a hlp file put it's path here
+#
+FILE_nlm_hlp =
+
+#
+# If this is specified, it will override the default copyright.
+#
+FILE_nlm_copyright =
+
+#
+# Any additional imports go here
+#
+FILES_nlm_Ximports = \
+ @libc.imp \
+ @$(APR)/aprlib.imp \
+ @$(LDAPSDK)/imports/lldapsdk.imp \
+ @$(LDAPSDK)/imports/lldapssl.imp \
+ $(EOLIST)
+
+#
+# Any symbols exported to here
+#
+FILES_nlm_exports = \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the LIB target above.
+# Paths must all use the '/' character
+#
+FILES_lib_objs = \
+ $(EOLIST)
+
+#
+# implement targets and dependancies (leave this section alone)
+#
+
+libs :: $(OBJDIR) $(TARGET_lib)
+
+nlms :: libs $(TARGET_nlm)
+
+#
+# Updated this target to create necessary directories and copy files to the
+# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+#
+install :: nlms FORCE
+
+#
+# Any specialized rules here
+#
+
+
+#
+# Include the 'tail' makefile that has targets that depend on variables defined
+# in this makefile
+#
+
+include $(APR_WORK)\build\NWGNUtail.inc
+
Added: apr/apr-util/trunk/test/testldap.c
Url: http://svn.apache.org/viewcvs/apr/apr-util/trunk/test/testldap.c?view=auto&rev=124917
==============================================================================
--- (empty file)
+++ apr/apr-util/trunk/test/testldap.c Tue Jan 11 11:43:12 2005
@@ -0,0 +1,246 @@
+/* Copyright 2002-2005 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ /* Setup:
+ * - Create or edit the file data/host.data and add an
+ * ldap server DN. Multiple DNs may be listed on
+ * a single line.
+ * - Copy the server certificates to the data/ directory.
+ * All DER type certificates must have the .der extention.
+ * All BASE64 or PEM certificates must have the .b64
+ * extension. All certificate files copied to the /data
+ * directory will be added to the ldap certificate store.
+ */
+
+ /* This test covers the following three types of connections:
+ * - Unsecure ldap://
+ * - Secure ldaps://
+ * - Secure ldap://+Start_TLS
+ *
+ * - (TBD) Mutual authentication
+ *
+ * There are other variations that should be tested:
+ * - All of the above with multiple redundant LDAP servers
+ * This can be done by listing more than one server DN
+ * in the host.data file. The DNs should all be listed
+ * on one line separated by a space.
+ * - All of the above with multiple certificates
+ * If more than one certificate is found in the data/
+ * directory, each certificate found will be added
+ * to the certificate store.
+ * - All of the above on alternate ports
+ * An alternate port can be specified as part of the
+ * host in the host.data file. The ":port" should
+ * follow each DN listed. Default is 389 and 636.
+ * - Secure connections with mutual authentication
+ */
+
+#include "testutil.h"
+
+#include "apr.h"
+#include "apr_general.h"
+#include "apr_ldap.h"
+#include "apr_file_io.h"
+#include "apr_file_info.h"
+#include "apr_strings.h"
+#if APR_HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#define APR_WANT_STDIO
+#define APR_WANT_STRFUNC
+#include "apr_want.h"
+
+#define DIRNAME "data"
+#define FILENAME DIRNAME "/host.data"
+#define CERTFILEDER DIRNAME "/*.der"
+#define CERTFILEB64 DIRNAME "/*.b64"
+
+static char ldap_host[256];
+
+static int get_ldap_host()
+{
+ apr_status_t rv;
+ apr_file_t *thefile = NULL;
+ char *ptr;
+
+ ldap_host[0] = '\0';
+ rv = apr_file_open(&thefile, FILENAME,
+ APR_READ,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ if (rv != APR_SUCCESS) {
+ return 0;
+ }
+
+ rv = apr_file_gets(ldap_host, sizeof(ldap_host), thefile);
+ if (rv != APR_SUCCESS) {
+ return 0;
+ }
+
+ ptr = strstr (ldap_host, "\r\n");
+ if (ptr) {
+ *ptr = '\0';
+ }
+ apr_file_close(thefile);
+
+ return 1;
+
+}
+
+static int add_ldap_certs(abts_case *tc)
+{
+ apr_status_t status;
+ apr_dir_t *thedir;
+ apr_finfo_t dirent;
+ apr_ldap_err_t *result = NULL;
+
+ if ((status = apr_dir_open(&thedir, DIRNAME, p)) == APR_SUCCESS) {
+ apr_ldap_opt_tls_cert_t *cert = (apr_ldap_opt_tls_cert_t *)apr_pcalloc(p, sizeof(apr_ldap_opt_tls_cert_t));
+
+ do {
+ status = apr_dir_read(&dirent, APR_FINFO_MIN | APR_FINFO_NAME, thedir);
+ if (APR_STATUS_IS_INCOMPLETE(status)) {
+ continue; /* ignore un-stat()able files */
+ }
+ else if (status != APR_SUCCESS) {
+ break;
+ }
+
+ if (strstr(dirent.name, ".der")) {
+ cert->type = APR_LDAP_CA_TYPE_DER;
+ cert->path = apr_pstrcat (p, DIRNAME, "/", dirent.name, NULL);
+ apr_ldap_set_option(p, NULL, APR_LDAP_OPT_TLS_CERT, (void *)cert, &result);
+ ABTS_TRUE(tc, result->rc == LDAP_SUCCESS);
+ }
+ if (strstr(dirent.name, ".b64")) {
+ cert->type = APR_LDAP_CA_TYPE_BASE64;
+ cert->path = apr_pstrcat (p, DIRNAME, "/", dirent.name, NULL);
+ apr_ldap_set_option(p, NULL, APR_LDAP_OPT_TLS_CERT, (void *)cert, &result);
+ ABTS_TRUE(tc, result->rc == LDAP_SUCCESS);
+ }
+
+ } while (1);
+
+ apr_dir_close(thedir);
+ }
+ return 0;
+}
+
+static void test_ldap_connection(abts_case *tc, LDAP *ldap)
+{
+ int version = LDAP_VERSION3;
+ int failures, result;
+
+ /* always default to LDAP V3 */
+ ldap_set_option(ldap, LDAP_OPT_PROTOCOL_VERSION, &version);
+
+ for (failures=0; failures<10; failures++)
+ {
+ result = ldap_simple_bind_s(ldap,
+ (char *)NULL,
+ (char *)NULL);
+ if (LDAP_SERVER_DOWN != result)
+ break;
+ }
+
+ ABTS_TRUE(tc, result == LDAP_SUCCESS);
+ if (result != LDAP_SUCCESS) {
+ abts_log_message("%s\n", ldap_err2string(result));
+ }
+
+ ldap_unbind_s(ldap);
+
+ return;
+}
+
+static void test_ldap(abts_case *tc, void *data)
+{
+ apr_pool_t *pool = p;
+ LDAP *ldap;
+ apr_ldap_err_t *result = NULL;
+
+
+ ABTS_ASSERT(tc, "failed to get host", ldap_host[0] != '\0');
+
+ apr_ldap_init(pool, &ldap,
+ ldap_host, LDAP_PORT,
+ APR_LDAP_NONE, &(result));
+
+ ABTS_TRUE(tc, ldap != NULL);
+ ABTS_PTR_NOTNULL(tc, result);
+
+ if (result->rc == LDAP_SUCCESS) {
+ test_ldap_connection(tc, ldap);
+ }
+}
+
+static void test_ldaps(abts_case *tc, void *data)
+{
+ apr_pool_t *pool = p;
+ LDAP *ldap;
+ apr_ldap_err_t *result = NULL;
+
+ apr_ldap_init(pool, &ldap,
+ ldap_host, LDAPS_PORT,
+ APR_LDAP_SSL, &(result));
+
+ ABTS_TRUE(tc, ldap != NULL);
+ ABTS_PTR_NOTNULL(tc, result);
+
+ if (result->rc == LDAP_SUCCESS) {
+ add_ldap_certs(tc);
+
+ test_ldap_connection(tc, ldap);
+ }
+}
+
+static void test_ldap_tls(abts_case *tc, void *data)
+{
+ apr_pool_t *pool = p;
+ LDAP *ldap;
+ apr_ldap_err_t *result = NULL;
+
+ apr_ldap_init(pool, &ldap,
+ ldap_host, LDAP_PORT,
+ APR_LDAP_STARTTLS, &(result));
+
+ ABTS_TRUE(tc, ldap != NULL);
+ ABTS_PTR_NOTNULL(tc, result);
+
+ if (result->rc == LDAP_SUCCESS) {
+ add_ldap_certs(tc);
+
+ test_ldap_connection(tc, ldap);
+ }
+}
+
+static void test_ldap_mutual(abts_case *tc, void *data)
+{
+}
+
+abts_suite *testldap(abts_suite *suite)
+{
+ apr_ldap_err_t *result = NULL;
+ suite = ADD_SUITE(suite);
+
+ apr_ldap_ssl_init(p, NULL, 0,&(result));
+ if (get_ldap_host()) {
+ abts_run_test(suite, test_ldap, NULL);
+ abts_run_test(suite, test_ldaps, NULL);
+ abts_run_test(suite, test_ldap_tls, NULL);
+ }
+
+ return suite;
+}
+
Modified: apr/apr-util/trunk/test/testutil.h
Url: http://svn.apache.org/viewcvs/apr/apr-util/trunk/test/testutil.h?view=diff&rev=124917&p1=apr/apr-util/trunk/test/testutil.h&r1=124916&p2=apr/apr-util/trunk/test/testutil.h&r2=124917
==============================================================================
--- apr/apr-util/trunk/test/testutil.h (original)
+++ apr/apr-util/trunk/test/testutil.h Tue Jan 11 11:43:12 2005
@@ -49,5 +49,6 @@
abts_suite *testpass(abts_suite *suite);
abts_suite *testmd4(abts_suite *suite);
abts_suite *testmd5(abts_suite *suite);
+abts_suite *testldap(abts_suite *suite);
#endif /* APR_TEST_INCLUDES */