check_existent_get_machine_id (BusContext *context,
DBusConnection *connection)
{
+ DBusError error = DBUS_ERROR_INIT;
DBusMessage *message;
dbus_uint32_t serial;
+ DBusGUID uuid;
const char *machine_id;
+ if (!_dbus_read_local_machine_uuid (&uuid, FALSE, &error))
+ {
+ /* Unable to test further: either we ran out of memory, or neither
+ * dbus nor systemd was ever correctly installed on this machine */
+ _dbus_verbose ("Machine UUID not available: %s", error.message);
+ dbus_error_free (&error);
+ return TRUE;
+ }
+
message = dbus_message_new_method_call (EXISTENT_SERVICE_NAME,
"/org/freedesktop/TestSuite",
"org.freedesktop.DBus.Peer",
export DBUS_TEST_DBUS_LAUNCH=$(DESTDIR)$(bindir)/dbus-launch$(EXEEXT); \
export DBUS_TEST_DBUS_MONITOR=$(DESTDIR)$(bindir)/dbus-monitor$(EXEEXT); \
export DBUS_TEST_DBUS_SEND=$(DESTDIR)$(bindir)/dbus-send$(EXEEXT); \
+ export DBUS_TEST_DBUS_UUIDGEN=$(DESTDIR)$(bindir)/dbus-uuidgen$(EXEEXT); \
export DBUS_TEST_EXEC=@abs_top_builddir@/test; \
export DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus; \
export DBUS_TEST_DATADIR=$(DESTDIR)$(datadir); \
export DBUS_TEST_DBUS_LAUNCH=@abs_top_builddir@/tools/dbus-launch$(EXEEXT); \
export DBUS_TEST_DBUS_MONITOR=@abs_top_builddir@/tools/dbus-monitor$(EXEEXT); \
export DBUS_TEST_DBUS_SEND=@abs_top_builddir@/tools/dbus-send$(EXEEXT); \
+ export DBUS_TEST_DBUS_UUIDGEN=@abs_top_builddir@/tools/dbus-uuidgen$(EXEEXT); \
export DBUS_TEST_DATA=@abs_top_builddir@/test/data; \
export DBUS_TEST_EXEC=@abs_top_builddir@/test; \
export DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus; \
#endif
#include <dbus/dbus.h>
+#include "dbus/dbus-internals.h"
#include "dbus/dbus-sysdeps.h"
int
{
DBusConnection *conn = NULL;
DBusError error;
+ DBusGUID uuid;
dbus_setenv ("DBUS_SESSION_BUS_ADDRESS", NULL);
dbus_error_init (&error);
+ if (!_dbus_read_local_machine_uuid (&uuid, FALSE, &error))
+ {
+ /* We can't expect autolaunching to work in this situation */
+ fprintf (stderr, "%s\n", error.message);
+ dbus_error_free (&error);
+ return 0;
+ }
+
conn = dbus_bus_get (DBUS_BUS_SESSION, &error);
#ifdef DBUS_ENABLE_X11_AUTOLAUNCH
echo "# dbus-daemon binary: ${DBUS_TEST_DAEMON:=dbus-daemon}"
echo "# dbus-launch binary: ${DBUS_TEST_DBUS_LAUNCH:=dbus-launch}"
echo "# dbus-send binary: ${DBUS_TEST_DBUS_SEND:=dbus-send}"
+echo "# dbus-uuidgen binary: ${DBUS_TEST_DBUS_UUIDGEN:=dbus-uuidgen}"
if test -n "$DBUS_TEST_DATA"; then
echo "# test data: $DBUS_TEST_DATA"
config="--sh-syntax"
fi
+if ! "${DBUS_TEST_DBUS_UUIDGEN}" --get >/dev/null; then
+ if test -n "$DBUS_TEST_UNINSTALLED"; then
+ echo "1..0 # SKIP - Unable to test dbus-launch without a machine ID"
+ exit 0
+ else
+ echo "Bail out! dbus not correctly installed: no machine ID"
+ exit 1
+ fi
+fi
+
echo "1..1"
unset DBUS_SESSION_BUS_ADDRESS
echo "# dbus-launch binary: ${DBUS_TEST_DBUS_LAUNCH:=dbus-launch}"
echo "# dbus-monitor binary: ${DBUS_TEST_DBUS_LAUNCH:=dbus-monitor}"
echo "# dbus-send binary: ${DBUS_TEST_DBUS_SEND:=dbus-send}"
+echo "# dbus-uuidgen binary: ${DBUS_TEST_DBUS_UUIDGEN:=dbus-uuidgen}"
if test -n "$DBUS_TEST_DATA"; then
echo "# test data: $DBUS_TEST_DATA"
launch_config="--sh-syntax"
fi
+if ! "${DBUS_TEST_DBUS_UUIDGEN}" --get >/dev/null; then
+ if test -n "$DBUS_TEST_UNINSTALLED"; then
+ echo "1..0 # SKIP - Unable to test dbus-launch without a machine ID"
+ exit 0
+ else
+ echo "Bail out! dbus not correctly installed: no machine ID"
+ exit 1
+ fi
+fi
+
if ! workdir="$(mktemp -d)"; then
echo "1..0 # SKIP - mktemp -d doesn't work"
exit 0