[PATCH v2 04/21] libtracefs: Add unit test to test tracefs_sql() compare

From: Steven Rostedt
Date: Tue Aug 03 2021 - 00:24:28 EST


From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>

Add a test to test passing time from sched_waking to sched_switch to
show wake up latency.

Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
---
utest/tracefs-utest.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/utest/tracefs-utest.c b/utest/tracefs-utest.c
index 89bb1cce61f7..f4e1a6b90a46 100644
--- a/utest/tracefs-utest.c
+++ b/utest/tracefs-utest.c
@@ -50,6 +50,9 @@
#define SQL_2_EVENT "wakeup_2"
#define SQL_2_SQL "select woke.next_pid as woke_pid, wake.common_pid as waking_pid from sched_waking as wake join sched_switch as woke on woke.next_pid = wake.pid"

+#define SQL_3_EVENT "wakeup_lat"
+#define SQL_3_SQL "select start.pid, end.next_prio as prio, (end.TIMESTAMP_USECS - start.TIMESTAMP_USECS) as lat from sched_waking as start join sched_switch as end on start.pid = end.next_pid"
+
static struct tracefs_instance *test_instance;
static struct tep_handle *test_tep;
struct test_sample {
@@ -354,6 +357,13 @@ static void test_instance_trace_sql(struct tracefs_instance *instance)
tracefs_synth_free(synth);
trace_seq_reset(&seq);

+ synth = tracefs_sql(tep, SQL_3_EVENT, SQL_3_SQL, NULL);
+ CU_TEST(synth != NULL);
+ ret = tracefs_synth_show(&seq, instance, synth);
+ CU_TEST(ret == 0);
+ tracefs_synth_free(synth);
+ trace_seq_reset(&seq);
+
tep_free(tep);
trace_seq_destroy(&seq);
}
--
2.30.2