summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@collabora.com>2019-01-28 11:18:16 +0000
committerSimon McVittie <smcv@collabora.com>2019-01-28 11:18:16 +0000
commit47953c5d857b97428453fa621be5d39974b7527f (patch)
tree9102572a5b17c7a13176546adc41526ef592040f
parentaf89e0db8db70d63b95c2e31ebed79b73c8b7de0 (diff)
parent02e3c4fdfa71cff414bd963866658733c8698074 (diff)
downloaddbus-47953c5d857b97428453fa621be5d39974b7527f.tar.gz
Merge branch 'nss-fds' into 'master'
_dbus_test_main: Exercise NSS modules before running tests Closes #256 See merge request dbus/dbus!93 Reviewed-by: pwithnall Tested-by: rhabacker
-rw-r--r--test/test-utils.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/test-utils.c b/test/test-utils.c
index d3616504..51471db7 100644
--- a/test/test-utils.c
+++ b/test/test-utils.c
@@ -519,6 +519,23 @@ _dbus_test_main (int argc,
else
specific_test = strdup0_or_die (_dbus_getenv ("DBUS_TEST_ONLY"));
+ /* Some NSS modules like those for sssd and LDAP might allocate fds
+ * on a one-per-process basis. Make sure those have already been
+ * allocated before we enter the code under test, so that they don't
+ * show up as having been "leaked" by the first module of code under
+ * test that happens to do a NSS lookup. */
+ {
+ DBusString username;
+ dbus_uid_t ignored_uid = DBUS_UID_UNSET;
+
+ _dbus_string_init_const (&username, "dbus-no-user-with-this-name");
+ /* We use a username that almost certainly doesn't exist, because
+ * if we used something like root it might get handled early in the
+ * NSS search order, before we get as far as asking sssd or LDAP. */
+ _dbus_parse_unix_user_from_config (&username, &ignored_uid);
+ _dbus_test_check_memleaks ("initial nss query");
+ }
+
for (i = 0; i < n_tests; i++)
{
long before, after;