From 4bd20c075f0f187db0181dc53d00ab6cd47fdb4d Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Fri, 30 May 2014 10:33:43 +0200 Subject: BUILD: Disable dbus tests when running distcheck https://fedorahosted.org/sssd/ticket/2291 The dbus tests that mock an sbus server were failing when make distcheck was ran by a user logged in through the SSSD. The reason was that the libtool wrapper around the test library alters the LD_LIBRARY_PATH and as a consequence, the standard getpwuid_r() calls the dbus server performs would load the in-tree NSS library and not the system one. The-in tree library would then attempt to talk to an in-tree NSS socket, fail, which would fail the getpwuid_r call with an error such as: """ Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry """ This patch adds a new configure-time option called --enable-dbus-tests that is enabled by default and disabled during distcheck. When the option is disabled, the tests that require a mocked dbus server are not compiled at all. --- Makefile.am | 17 +++++++++++++---- src/conf_macros.m4 | 7 +++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index ac466a329..652cf6723 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,6 +8,7 @@ if WITH_JOURNALD endif AM_DISTCHECK_CONFIGURE_FLAGS = --with-ldb-lib-dir="$$dc_install_base"/lib/ldb \ + --disable-dbus-tests \ --enable-all-experimental-features \ $(extra_distcheck_flags) @@ -147,9 +148,7 @@ if HAVE_CHECK ipa_hbac-tests \ sss_idmap-tests \ responder_socket_access-tests \ - safe-format-tests \ - sbus_tests \ - sbus_codegen_tests + safe-format-tests if BUILD_SSH non_interactive_check_based_tests += sysdb_ssh-tests @@ -161,7 +160,13 @@ if BUILD_CONFIG_LIB endif # BUILD_CONFIG_LIB endif # BUILD_IFP -endif +if BUILD_DBUS_TESTS + non_interactive_check_based_tests += \ + sbus_tests \ + sbus_codegen_tests +endif # BUILD_DBUS_TESTS + +endif # HAVE_CHECK if HAVE_CMOCKA non_interactive_cmocka_based_tests = \ @@ -1464,6 +1469,8 @@ krb5_child_test_LDADD = \ $(SSSD_INTERNAL_LTLIBS) \ libsss_test_common.la +if BUILD_DBUS_TESTS + sbus_tests_SOURCES = \ src/tests/common_dbus.c \ src/tests/sbus_tests.c @@ -1486,6 +1493,8 @@ sbus_codegen_tests_LDADD = \ $(SSSD_LIBS) \ $(CHECK_LIBS) +endif # BUILD_DBUS_TESTS + if BUILD_IFP if BUILD_CONFIG_LIB sss_config_tests_SOURCES = \ diff --git a/src/conf_macros.m4 b/src/conf_macros.m4 index 2c8340319..af0834a75 100644 --- a/src/conf_macros.m4 +++ b/src/conf_macros.m4 @@ -667,3 +667,10 @@ AC_DEFUN([WITH_SAMBA], fi AM_CONDITIONAL([BUILD_SAMBA], [test x"$with_samba" = xyes]) ]) + +AC_ARG_ENABLE([dbus-tests], + [AS_HELP_STRING([--enable-dbus-tests], + [enable running tests using a dbus server instance [default=yes]])], + [build_dbus_tests=$enableval], + [build_dbus_tests=yes]) +AM_CONDITIONAL([BUILD_DBUS_TESTS], [test x$build_dbus_tests = xyes]) -- cgit