[SSSD] [PATCH] BUILD: Disable dbus tests when running distcheck

Jakub Hrozek jhrozek at redhat.com
Fri May 30 08:51:11 UTC 2014


Hi,

the attached patch fixes https://fedorahosted.org/sssd/ticket/2291

To test, log in as an sssd user and run:
    make distcheck

Before the patch, the sbus test would fail with a strange error message
such as:
    Could not get password database information for UID of current
    process: User "???" unknown or no memory to allocate password entry

The patch disables the sbus_tests and sbus_codegen tests when running
distcheck. The tests are still built and ran as appropriate when running
"make check".
-------------- next part --------------
>From 757f3edaae343cb55f9aa2355d8e2376d57e4420 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek at redhat.com>
Date: Fri, 30 May 2014 10:33:43 +0200
Subject: [PATCH] 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 ac466a329e2e2c3f0a9a99adadb308c97000cdd5..652cf67236b3b7020cc4afcbf46fa3456fcbfefd 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 2c834031958e261689a84db6662cd108eb1eada3..302fa397d005d89b883dbc06895c26d5b5c42888 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=enabled]])],
+              [build_dbus_tests=$enableval],
+              [build_dbus_tests=yes])
+AM_CONDITIONAL([BUILD_DBUS_TESTS], [test x$build_dbus_tests = xyes])
-- 
1.9.0



More information about the sssd-devel mailing list