2003-03-31 Havoc Pennington <hp@redhat.com>
authorHavoc Pennington <hp@redhat.com>
Tue, 1 Apr 2003 00:21:24 +0000 (00:21 +0000)
committerHavoc Pennington <hp@redhat.com>
Tue, 1 Apr 2003 00:21:24 +0000 (00:21 +0000)
* 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.

ChangeLog
dbus/Makefile.am
dbus/dbus-keyring.c

index 7d49768..717ee48 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2003-03-31  Havoc Pennington  <hp@redhat.com>
 
+       * 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.
+
+2003-03-31  Havoc Pennington  <hp@redhat.com>
+
        * bus/Makefile.am (install-data-hook): create /var/run/dbus
 
        * bus/messagebus.in: add init script for Red Hat /etc/init.d
index c7a93b5..9f2f2e7 100644 (file)
@@ -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
index fbaf7cd..d63bc3e 100644 (file)
@@ -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 ();