int main (int argc, char **argv) { const GType *otypes; guint i; gchar *schema_dir; GTestDBus *bus; GMainLoop *loop; gint result; /* These must be set before before gtk_test_init */ g_setenv ("GIO_USE_VFS", "local", TRUE); g_setenv ("GSETTINGS_BACKEND", "memory", TRUE); g_setenv ("G_ENABLE_DIAGNOSTIC", "0", TRUE); gtk_test_init (&argc, &argv); gtk_test_register_all_types(); /* g_test_build_filename must be called after gtk_test_init */ schema_dir = g_test_build_filename (G_TEST_BUILT, "", NULL); g_setenv ("GSETTINGS_SCHEMA_DIR", schema_dir, TRUE); /* Create one test bus for all tests, as we have a lot of very small * and quick tests. */ bus = g_test_dbus_new (G_TEST_DBUS_NONE); g_test_dbus_up (bus); otypes = gtk_test_list_all_types (NULL); for (i = 0; otypes[i]; i++) { gchar *testname; if (otypes[i] == GTK_TYPE_FILE_CHOOSER_NATIVE) continue; testname = g_strdup_printf ("/Default Values/%s", g_type_name (otypes[i])); g_test_add_data_func (testname, &otypes[i], test_type); g_free (testname); } result = g_test_run(); /* Work around the annoying issue that g_test_dbus_down is giving * us an "Error while sending AddMatch" that comes out of an idle */ loop = g_main_loop_new (NULL, FALSE); g_timeout_add (1000, (GSourceFunc)g_main_loop_quit, loop); g_main_loop_run (loop); g_main_loop_unref (loop); g_test_dbus_down (bus); g_object_unref (bus); g_free (schema_dir); return result; }
void session_bus_up (void) { g_assert (singleton == NULL); singleton = g_test_dbus_new (G_TEST_DBUS_NONE); g_test_dbus_up (singleton); }
int main (int argc, char *argv[]) { GTestDBus *bus; GError *error = NULL; GOptionContext *context; guint id = -1; guint id_b = -1; GOptionEntry entries[] = { { NULL } }; signal (SIGPIPE, SIG_IGN); /* avoid gvfs (http://bugzilla.gnome.org/show_bug.cgi?id=526454) */ g_setenv ("GIO_USE_VFS", "local", TRUE); g_type_init (); g_log_set_always_fatal (G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_ERROR); /* We don't run phantomjs under valgrind */ if (RUNNING_ON_VALGRIND) { g_print ("Bail out! - not running phantomjs under valgrind\n"); return 0; } /* This isolates us from affecting other processes during tests */ bus = g_test_dbus_new (G_TEST_DBUS_NONE); g_test_dbus_up (bus); context = g_option_context_new ("- test dbus json server"); g_option_context_add_main_entries (context, entries, NULL); g_option_context_set_ignore_unknown_options (context, TRUE); if (!g_option_context_parse (context, &argc, &argv, &error)) { g_printerr ("test-server: %s\n", error->message); exit (2); } cd_binarydir (argv[0]); loop = g_main_loop_new (NULL, FALSE); id = g_bus_own_name (G_BUS_TYPE_SESSION, "com.redhat.Cockpit.DBusTests.Test", G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT | G_BUS_NAME_OWNER_FLAGS_REPLACE, on_bus_acquired, on_name_acquired, on_name_lost, loop, NULL); id_b = g_bus_own_name (G_BUS_TYPE_SESSION, "com.redhat.Cockpit.DBusTests.Second", G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT | G_BUS_NAME_OWNER_FLAGS_REPLACE, NULL, on_second_acquired, on_name_lost, loop, NULL); g_main_loop_run (loop); g_clear_object (&exported); g_clear_object (&exported_b); g_bus_unown_name (id); g_bus_unown_name (id_b); g_main_loop_unref (loop); g_test_dbus_down (bus); g_object_unref (bus); return exit_code; }
int main (int argc, char *argv[]) { GTestDBus *bus; GError *error = NULL; GOptionContext *context; guint sig_term; guint sig_int; int i; gchar *guid = NULL; GDBusServer *direct_dbus_server = NULL; GOptionEntry entries[] = { { NULL } }; char *default_argv[] = { "cockpit-bridge", NULL }; signal (SIGPIPE, SIG_IGN); /* avoid gvfs (http://bugzilla.gnome.org/show_bug.cgi?id=526454) */ g_setenv ("GIO_USE_VFS", "local", TRUE); g_setenv ("XDG_DATA_HOME", SRCDIR "/src/bridge/mock-resource/home", TRUE); g_setenv ("XDG_DATA_DIRS", SRCDIR "/src/bridge/mock-resource/system", TRUE); setup_path (argv[0]); g_type_init (); g_log_set_always_fatal (G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_ERROR); sig_term = g_unix_signal_add (SIGTERM, on_signal_done, NULL); sig_int = g_unix_signal_add (SIGINT, on_signal_done, NULL); // System cockpit configuration file should not be loaded cockpit_config_file = NULL; context = g_option_context_new ("- test dbus json server"); g_option_context_add_main_entries (context, entries, NULL); g_option_context_set_ignore_unknown_options (context, TRUE); if (!g_option_context_parse (context, &argc, &argv, &error)) { g_printerr ("test-server: %s\n", error->message); exit (2); } /* This isolates us from affecting other processes during tests */ bus = g_test_dbus_new (G_TEST_DBUS_NONE); g_test_dbus_up (bus); bus_address = g_test_dbus_get_bus_address (bus); guid = g_dbus_generate_guid (); direct_dbus_server = g_dbus_server_new_sync ("unix:tmpdir=/tmp/dbus-tests", G_DBUS_SERVER_FLAGS_NONE, guid, NULL, NULL, &error); if (direct_dbus_server == NULL) { g_printerr ("test-server: %s\n", error->message); exit (3); } /* Skip the program name */ argc--; argv++; if (argc == 0) { argc = 1; argv = default_argv; } /* Null terminate the bridge command line */ bridge_argv = g_new0 (char *, argc + 1); for (i = 0; i < argc; i++) bridge_argv[i] = argv[i]; loop = g_main_loop_new (NULL, FALSE); g_bus_own_name (G_BUS_TYPE_SESSION, "com.redhat.Cockpit.DBusTests.Test", G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT | G_BUS_NAME_OWNER_FLAGS_REPLACE, on_bus_acquired, on_name_acquired, on_name_lost, loop, NULL); g_bus_own_name (G_BUS_TYPE_SESSION, "com.redhat.Cockpit.DBusTests.Second", G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT | G_BUS_NAME_OWNER_FLAGS_REPLACE, NULL, on_second_acquired, on_name_lost, loop, NULL); g_signal_connect_object (direct_dbus_server, "new-connection", G_CALLBACK (on_new_direct_connection), NULL, 0); g_dbus_server_start (direct_dbus_server); direct_address = g_dbus_server_get_client_address (direct_dbus_server); g_main_loop_run (loop); g_source_remove (sig_term); g_source_remove (sig_int); g_clear_object (&exported); g_clear_object (&exported_b); g_clear_object (&direct_dbus_server); g_clear_object (&direct); g_clear_object (&direct_b); g_main_loop_unref (loop); g_test_dbus_down (bus); g_object_unref (bus); g_free (bridge_argv); g_free (guid); return exit_code; }
int main (int argc, char **argv) { const GType *all_types; guint n_types = 0, i; gchar *schema_dir; GTestDBus *bus; gint result; /* These must be set before before gtk_test_init */ g_setenv ("GIO_USE_VFS", "local", TRUE); g_setenv ("GSETTINGS_BACKEND", "memory", TRUE); /* initialize test program */ gtk_test_init (&argc, &argv); gtk_test_register_all_types (); /* g_test_build_filename must be called after gtk_test_init */ schema_dir = g_test_build_filename (G_TEST_BUILT, "", NULL); g_setenv ("GSETTINGS_SCHEMA_DIR", schema_dir, TRUE); /* Create one test bus for all tests, as we have a lot of very small * and quick tests. */ bus = g_test_dbus_new (G_TEST_DBUS_NONE); g_test_dbus_up (bus); all_types = gtk_test_list_all_types (&n_types); for (i = 0; i < n_types; i++) { if (g_type_is_a (all_types[i], G_TYPE_OBJECT) && G_TYPE_IS_INSTANTIATABLE (all_types[i]) && !G_TYPE_IS_ABSTRACT (all_types[i]) && #ifdef GDK_WINDOWING_X11 all_types[i] != GDK_TYPE_X11_WINDOW && all_types[i] != GDK_TYPE_X11_CURSOR && all_types[i] != GDK_TYPE_X11_SCREEN && all_types[i] != GDK_TYPE_X11_DISPLAY && all_types[i] != GDK_TYPE_X11_DEVICE_MANAGER_XI2 && all_types[i] != GDK_TYPE_X11_DISPLAY_MANAGER && all_types[i] != GDK_TYPE_X11_GL_CONTEXT && #endif /* Not allowed to finalize a GdkPixbufLoader without calling gdk_pixbuf_loader_close() */ all_types[i] != GDK_TYPE_PIXBUF_LOADER && all_types[i] != gdk_pixbuf_simple_anim_iter_get_type()) { gchar *test_path = g_strdup_printf ("/FinalizeObject/%s", g_type_name (all_types[i])); g_test_add_data_func (test_path, GSIZE_TO_POINTER (all_types[i]), test_finalize_object); g_free (test_path); } } result = g_test_run(); g_test_dbus_down (bus); g_object_unref (bus); g_free (schema_dir); return result; }