diff options
author | Charles Kerr <charles.kerr@canonical.com> | 2012-03-29 07:44:31 -0700 |
---|---|---|
committer | Charles Kerr <charles.kerr@canonical.com> | 2012-03-29 07:44:31 -0700 |
commit | 921aacaeec41ef3b62d2c1650f9f872eea921013 (patch) | |
tree | d12db36a7cedb1d3ce93da2fab0a227d46507a74 /tests/test-json-server.c | |
parent | 4c0ab8af125ecdac6690bc56ab60f0059bafad9f (diff) | |
parent | 11ee75120bad73033ccd1ec1ceb919395023084e (diff) | |
download | libdbusmenu-921aacaeec41ef3b62d2c1650f9f872eea921013.tar.gz libdbusmenu-921aacaeec41ef3b62d2c1650f9f872eea921013.tar.bz2 libdbusmenu-921aacaeec41ef3b62d2c1650f9f872eea921013.zip |
merge lp:~ted/dbusmenu/instruction-count-testing to support benchmarking based on callgrind measurements h/t Chase
Diffstat (limited to 'tests/test-json-server.c')
-rw-r--r-- | tests/test-json-server.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/tests/test-json-server.c b/tests/test-json-server.c index 083de60..7165838 100644 --- a/tests/test-json-server.c +++ b/tests/test-json-server.c @@ -22,6 +22,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>. #include <glib.h> #include <gio/gio.h> +#include "callgrind.h" #include <libdbusmenu-glib/server.h> #include <libdbusmenu-glib/menuitem.h> @@ -29,11 +30,14 @@ with this program. If not, see <http://www.gnu.org/licenses/>. static GMainLoop * mainloop = NULL; -static gboolean -timer_func (gpointer data) +static void +root_activate (void) { + g_debug("Dumping callgrind data"); + CALLGRIND_DUMP_STATS_AT("exported"); + CALLGRIND_STOP_INSTRUMENTATION; g_main_loop_quit(mainloop); - return FALSE; + return; } static void @@ -50,9 +54,13 @@ on_bus (GDBusConnection * connection, const gchar * name, gpointer user_data) return; } - dbusmenu_server_set_root(server, root); + g_signal_connect(G_OBJECT(root), DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, G_CALLBACK(root_activate), NULL); - g_timeout_add(10000, timer_func, NULL); + g_debug("Starting Callgrind"); + CALLGRIND_START_INSTRUMENTATION; + CALLGRIND_ZERO_STATS; + CALLGRIND_TOGGLE_COLLECT; + dbusmenu_server_set_root(server, root); return; } |