From 2e9393ffda9630373018e02680fbd204e9f6ac99 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Tue, 1 Apr 2003 00:21:24 +0000 Subject: 2003-03-31 Havoc Pennington * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting DBUS_TEST_HOMEDIR when tests are enabled, so we can test without having a real home directory available. --- dbus/Makefile.am | 4 ++-- dbus/dbus-keyring.c | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'dbus') diff --git a/dbus/Makefile.am b/dbus/Makefile.am index c7a93b58..9f2f2e7d 100644 --- a/dbus/Makefile.am +++ b/dbus/Makefile.am @@ -111,8 +111,8 @@ libdbus_1_la_LDFLAGS= -export-symbols-regex "^[^_].*" ## so if adding tests not to be run in make check, don't add them to ## TESTS if DBUS_BUILD_TESTS -TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_srcdir)/test/data -TESTS=dbus-test +TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_srcdir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus +TESTS=dbus-test else TESTS= endif diff --git a/dbus/dbus-keyring.c b/dbus/dbus-keyring.c index fbaf7cd2..d63bc3e8 100644 --- a/dbus/dbus-keyring.c +++ b/dbus/dbus-keyring.c @@ -711,6 +711,27 @@ _dbus_keyring_new_homedir (const DBusString *username, goto failed; } +#ifdef DBUS_BUILD_TESTS + { + const char *override; + + override = _dbus_getenv ("DBUS_TEST_HOMEDIR"); + if (override != NULL && *override != '\0') + { + _dbus_string_set_length (&homedir, 0); + if (!_dbus_string_append (&homedir, override)) + _dbus_assert_not_reached ("no memory"); + + _dbus_verbose ("Using fake homedir for testing: %s\n", + _dbus_string_get_const_data (&homedir)); + } + else + { + _dbus_warn ("Using your real home directory for testing, set DBUS_TEST_HOMEDIR to avoid\n"); + } + } +#endif + _dbus_assert (username != NULL); keyring = _dbus_keyring_new (); -- cgit