aboutsummaryrefslogtreecommitdiff
path: root/tests/test-json-server.c
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2012-03-29 07:44:31 -0700
committerCharles Kerr <charles.kerr@canonical.com>2012-03-29 07:44:31 -0700
commit921aacaeec41ef3b62d2c1650f9f872eea921013 (patch)
treed12db36a7cedb1d3ce93da2fab0a227d46507a74 /tests/test-json-server.c
parent4c0ab8af125ecdac6690bc56ab60f0059bafad9f (diff)
parent11ee75120bad73033ccd1ec1ceb919395023084e (diff)
downloadlibdbusmenu-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.c18
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;
}