mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-10 07:00:53 +00:00
tests: add simple test for jitmaps
This commit is contained in:
@ -820,6 +820,74 @@ test_reader_writer_file (void)
|
|||||||
g_unlink ("file1.syscap");
|
g_unlink ("file1.syscap");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_reader_writer_cat_jitmap (void)
|
||||||
|
{
|
||||||
|
SysprofCaptureWriter *writer1;
|
||||||
|
SysprofCaptureWriter *writer2;
|
||||||
|
SysprofCaptureWriter *res;
|
||||||
|
SysprofCaptureReader *reader;
|
||||||
|
GError *error = NULL;
|
||||||
|
SysprofCaptureAddress addrs[20];
|
||||||
|
gboolean r;
|
||||||
|
|
||||||
|
writer1 = sysprof_capture_writer_new ("jitmap1.syscap", 0);
|
||||||
|
writer2 = sysprof_capture_writer_new ("jitmap2.syscap", 0);
|
||||||
|
res = sysprof_capture_writer_new ("jitmap-joined.syscap", 0);
|
||||||
|
|
||||||
|
for (guint i = 0; i < G_N_ELEMENTS (addrs); i++)
|
||||||
|
{
|
||||||
|
g_autofree gchar *str = g_strdup_printf ("jitmap_%d (writer1)", i);
|
||||||
|
addrs[i] = sysprof_capture_writer_add_jitmap (writer1, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
sysprof_capture_writer_add_sample (writer1,
|
||||||
|
SYSPROF_CAPTURE_CURRENT_TIME,
|
||||||
|
-1,
|
||||||
|
getpid (),
|
||||||
|
-1,
|
||||||
|
addrs,
|
||||||
|
G_N_ELEMENTS (addrs));
|
||||||
|
|
||||||
|
for (guint i = 0; i < G_N_ELEMENTS (addrs); i++)
|
||||||
|
{
|
||||||
|
g_autofree gchar *str = g_strdup_printf ("jitmap_%d (writer2)", i);
|
||||||
|
addrs[i] = sysprof_capture_writer_add_jitmap (writer2, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
sysprof_capture_writer_add_sample (writer2,
|
||||||
|
SYSPROF_CAPTURE_CURRENT_TIME,
|
||||||
|
-1,
|
||||||
|
getpid (),
|
||||||
|
-1,
|
||||||
|
addrs,
|
||||||
|
G_N_ELEMENTS (addrs));
|
||||||
|
|
||||||
|
reader = sysprof_capture_writer_create_reader (writer1, &error);
|
||||||
|
g_assert_no_error (error);
|
||||||
|
g_assert_nonnull (reader);
|
||||||
|
r = sysprof_capture_writer_cat (res, reader, &error);
|
||||||
|
g_assert_no_error (error);
|
||||||
|
g_assert_true (r);
|
||||||
|
sysprof_capture_writer_unref (writer1);
|
||||||
|
sysprof_capture_reader_unref (reader);
|
||||||
|
|
||||||
|
reader = sysprof_capture_writer_create_reader (writer2, &error);
|
||||||
|
g_assert_no_error (error);
|
||||||
|
g_assert_nonnull (reader);
|
||||||
|
r = sysprof_capture_writer_cat (res, reader, &error);
|
||||||
|
g_assert_no_error (error);
|
||||||
|
g_assert_true (r);
|
||||||
|
sysprof_capture_writer_unref (writer2);
|
||||||
|
sysprof_capture_reader_unref (reader);
|
||||||
|
|
||||||
|
sysprof_capture_writer_unref (res);
|
||||||
|
|
||||||
|
g_unlink ("jitmap1.syscap");
|
||||||
|
g_unlink ("jitmap2.syscap");
|
||||||
|
g_unlink ("jitmap-joined.syscap");
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc,
|
main (int argc,
|
||||||
char *argv[])
|
char *argv[])
|
||||||
@ -833,5 +901,6 @@ main (int argc,
|
|||||||
g_test_add_func ("/SysprofCapture/ReaderWriter/mark", test_reader_writer_mark);
|
g_test_add_func ("/SysprofCapture/ReaderWriter/mark", test_reader_writer_mark);
|
||||||
g_test_add_func ("/SysprofCapture/ReaderWriter/metadata", test_reader_writer_metadata);
|
g_test_add_func ("/SysprofCapture/ReaderWriter/metadata", test_reader_writer_metadata);
|
||||||
g_test_add_func ("/SysprofCapture/ReaderWriter/file", test_reader_writer_file);
|
g_test_add_func ("/SysprofCapture/ReaderWriter/file", test_reader_writer_file);
|
||||||
|
g_test_add_func ("/SysprofCapture/ReaderWriter/cat-jitmap", test_reader_writer_cat_jitmap);
|
||||||
return g_test_run ();
|
return g_test_run ();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user