static void setup (Fixture *f, gconstpointer context G_GNUC_UNUSED) { gchar *dbus_daemon; gchar *config; gchar *address; f->ge = NULL; dbus_error_init (&f->e); dbus_daemon = g_strdup (g_getenv ("DBUS_TEST_DAEMON")); if (dbus_daemon == NULL) dbus_daemon = g_strdup ("dbus-daemon"); if (g_getenv ("DBUS_TEST_SYSCONFDIR") != NULL) { config = g_strdup_printf ("--config-file=%s/dbus-1/session.conf", g_getenv ("DBUS_TEST_SYSCONFDIR")); } else if (g_getenv ("DBUS_TEST_DATA") != NULL) { config = g_strdup_printf ( "--config-file=%s/valid-config-files/session.conf", g_getenv ("DBUS_TEST_DATA")); } else { config = g_strdup ("--session"); } address = spawn_dbus_daemon (dbus_daemon, config, &f->daemon_pid); g_free (dbus_daemon); g_free (config); f->left_conn = connect_to_bus (address); f->right_conn = connect_to_bus (address); g_free (address); }
gchar * test_get_dbus_daemon (const gchar *config_file, TestUser user, GPid *daemon_pid) { gchar *dbus_daemon; gchar *arg; gchar *address; if (config_file != NULL) { if (g_getenv ("DBUS_TEST_DATA") == NULL) { g_message ("SKIP: set DBUS_TEST_DATA to a directory containing %s", config_file); return NULL; } arg = g_strdup_printf ( "--config-file=%s/%s", g_getenv ("DBUS_TEST_DATA"), config_file); } else if (g_getenv ("DBUS_TEST_SYSCONFDIR") != NULL) { arg = g_strdup_printf ("--config-file=%s/dbus-1/session.conf", g_getenv ("DBUS_TEST_SYSCONFDIR")); } else if (g_getenv ("DBUS_TEST_DATA") != NULL) { arg = g_strdup_printf ( "--config-file=%s/valid-config-files/session.conf", g_getenv ("DBUS_TEST_DATA")); } else { arg = g_strdup ("--session"); } dbus_daemon = g_strdup (g_getenv ("DBUS_TEST_DAEMON")); if (dbus_daemon == NULL) dbus_daemon = g_strdup ("dbus-daemon"); if (g_getenv ("DBUS_TEST_DAEMON_ADDRESS") != NULL) { if (config_file != NULL || user != TEST_USER_ME) { g_message ("SKIP: cannot use DBUS_TEST_DAEMON_ADDRESS for " "unusally-configured dbus-daemon"); address = NULL; } else { address = g_strdup (g_getenv ("DBUS_TEST_DAEMON_ADDRESS")); } } else { address = spawn_dbus_daemon (dbus_daemon, arg, user, daemon_pid); } g_free (dbus_daemon); g_free (arg); return address; }
gchar * test_get_dbus_daemon (const gchar *config_file, TestUser user, const gchar *runtime_dir, GPid *daemon_pid) { gchar *dbus_daemon; gchar *arg; const gchar *listen_address = NULL; gchar *address; /* we often have to override this because on Windows, the default may be * autolaunch:, which is globally-scoped and hence unsuitable for * regression tests */ listen_address = "--address=" TEST_LISTEN; if (config_file != NULL) { if (g_getenv ("DBUS_TEST_DATA") == NULL) { g_test_message ("set DBUS_TEST_DATA to a directory containing %s", config_file); g_test_skip ("DBUS_TEST_DATA not set"); return NULL; } arg = g_strdup_printf ( "--config-file=%s/%s", g_getenv ("DBUS_TEST_DATA"), config_file); /* The configuration file is expected to give a suitable address, * do not override it */ listen_address = NULL; } else if (g_getenv ("DBUS_TEST_DATADIR") != NULL) { arg = g_strdup_printf ("--config-file=%s/dbus-1/session.conf", g_getenv ("DBUS_TEST_DATADIR")); } else if (g_getenv ("DBUS_TEST_DATA") != NULL) { arg = g_strdup_printf ( "--config-file=%s/valid-config-files/session.conf", g_getenv ("DBUS_TEST_DATA")); } else { arg = g_strdup ("--session"); } dbus_daemon = g_strdup (g_getenv ("DBUS_TEST_DAEMON")); if (dbus_daemon == NULL) dbus_daemon = g_strdup ("dbus-daemon"); if (g_getenv ("DBUS_TEST_DAEMON_ADDRESS") != NULL) { if (config_file != NULL || user != TEST_USER_ME) { g_test_skip ("cannot use DBUS_TEST_DAEMON_ADDRESS for " "unusally-configured dbus-daemon"); address = NULL; } else { address = g_strdup (g_getenv ("DBUS_TEST_DAEMON_ADDRESS")); } } else { address = spawn_dbus_daemon (dbus_daemon, arg, listen_address, user, runtime_dir, daemon_pid); } g_free (dbus_daemon); g_free (arg); return address; }