[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