diff --git a/configure b/configure index 7dcca506f8..1242e310b4 100755 --- a/configure +++ b/configure @@ -708,6 +708,7 @@ with_uuid with_systemd with_selinux with_openssl +with_ldap krb_srvtab with_python with_perl @@ -5925,6 +5926,7 @@ fi $as_echo "$with_ldap" >&6; } + # # Bonjour # diff --git a/configure.in b/configure.in index 4d26034579..aee3ab0867 100644 --- a/configure.in +++ b/configure.in @@ -682,6 +682,7 @@ PGAC_ARG_BOOL(with, ldap, no, [build with LDAP support], [AC_DEFINE([USE_LDAP], 1, [Define to 1 to build with LDAP support. (--with-ldap)])]) AC_MSG_RESULT([$with_ldap]) +AC_SUBST(with_ldap) # diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index ca2716a6d7..3c448dc5bc 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -211,6 +211,44 @@ make installcheck-world option . This is recommended for development, but can be omitted if there is no suitable Perl installation. + + + Some test suites are not run by default, either because they are not secure + to run on a multiuser system or because they require special software. You + can decide which test suites to run additionally by setting the + make or environment variable + PG_TEST_EXTRA to a whitespace-separated list, for + example: + +make check-world PG_TEST_EXTRA='ldap ssl' + + The following values are currently supported: + + + ldap + + + Runs the test suite under src/test/ldap. This + requires an OpenLDAP installation and opens + TCP/IP listen sockets. + + + + + + ssl + + + Runs the test suite under src/test/ssl. This opens TCP/IP listen sockets. + + + + + + Tests for features that are not supported by the current build + configuration are not run even if they are mentioned in + PG_TEST_EXTRA. + diff --git a/src/Makefile.global.in b/src/Makefile.global.in index d980f81046..dcb8dc5d90 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -186,6 +186,7 @@ with_tcl = @with_tcl@ with_openssl = @with_openssl@ with_selinux = @with_selinux@ with_systemd = @with_systemd@ +with_ldap = @with_ldap@ with_libxml = @with_libxml@ with_libxslt = @with_libxslt@ with_system_tzdata = @with_system_tzdata@ diff --git a/src/test/Makefile b/src/test/Makefile index 73abf163f1..3de9428299 100644 --- a/src/test/Makefile +++ b/src/test/Makefile @@ -14,11 +14,25 @@ include $(top_builddir)/src/Makefile.global SUBDIRS = perl regress isolation modules authentication recovery subscription -# We don't build or execute examples/, locale/, or thread/ by default, -# but we do want "make clean" etc to recurse into them. Likewise for -# ldap/ and ssl/, because these test suites are not secure to run on a -# multi-user system. -ALWAYS_SUBDIRS = examples ldap locale thread ssl +# Test suites that are not safe by default but can be run if selected +# by the user via the whitespace-separated list in variable +# PG_TEST_EXTRA: +ifeq ($(with_ldap),yes) +ifneq (,$(filter ldap,$(PG_TEST_EXTRA))) +SUBDIRS += ldap +endif +endif +ifeq ($(with_openssl),yes) +ifneq (,$(filter ssl,$(PG_TEST_EXTRA))) +SUBDIRS += ssl +endif +endif + +# We don't build or execute these by default, but we do want "make +# clean" etc to recurse into them. (We must filter out those that we +# have conditionally included into SUBDIRS above, else there will be +# make confusion.) +ALWAYS_SUBDIRS = $(filter-out $(SUBDIRS),examples ldap locale thread ssl) # We want to recurse to all subdirs for all standard targets, except that # installcheck and install should not recurse into the subdirectory "modules".