From 6f9f5cd0134460ad499ce753ff4886440b0b8a0f Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Mon, 11 May 2020 13:33:30 -0400 Subject: [PATCH] testapp: gen-ust-events: augment captured fields MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Adds: - negative integer, - enums, - escaped string, - network array, - network sequence, - long sequence. This partly bridges the gap between the event used for kernel testing and the event used for userspace testing. Bitfield array/sequence are not supported by the userspace tracer. Change-Id: I027b9acfdcea2643201020c6c7907483cbbb2151 Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau Depends-on: lttng-ust: I5a800fc92e588c2a6a0e26282b0ad5f31c044479 --- .../testapp/gen-ust-events/gen-ust-events.c | 8 +++++- tests/utils/testapp/gen-ust-events/tp.h | 27 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/tests/utils/testapp/gen-ust-events/gen-ust-events.c b/tests/utils/testapp/gen-ust-events/gen-ust-events.c index 7ce86bcae..df1e58e41 100644 --- a/tests/utils/testapp/gen-ust-events/gen-ust-events.c +++ b/tests/utils/testapp/gen-ust-events/gen-ust-events.c @@ -48,8 +48,10 @@ int main(int argc, char **argv) int option; long values[] = { 1, 2, 3 }; char text[10] = "test"; + char escape[10] = "\\*"; double dbl = 2.0; float flt = 2222.0; + uint32_t net_values[] = { 1, 2, 3 }; int nr_iter = 100, ret = 0, first_event_file_created = 0; useconds_t nr_usec = 0; char *after_first_event_file_path = NULL; @@ -64,6 +66,10 @@ int main(int argc, char **argv) /* Wait on file before exiting */ char *before_exit_file_path = NULL; + for (i = 0; i < 3; i++) { + net_values[i] = htonl(net_values[i]); + } + while ((option = getopt_long(argc, argv, "i:w:a:b:c:d:", long_options, &option_index)) != -1) { switch (option) { @@ -141,7 +147,7 @@ int main(int argc, char **argv) } netint = htonl(i); tracepoint(tp, tptest, i, netint, values, text, - strlen(text), dbl, flt); + strlen(text), escape, net_values, dbl, flt); /* * First loop we create the file if asked to indicate diff --git a/tests/utils/testapp/gen-ust-events/tp.h b/tests/utils/testapp/gen-ust-events/tp.h index bc1949417..132f9ba4e 100644 --- a/tests/utils/testapp/gen-ust-events/tp.h +++ b/tests/utils/testapp/gen-ust-events/tp.h @@ -12,24 +12,51 @@ #define _TRACEPOINT_TP_H #include +#include + +TRACEPOINT_ENUM( + tp, tptest_enum, + TP_ENUM_VALUES( + ctf_enum_auto("AUTO: EXPECT 0") + ctf_enum_value("VALUE: 23", 23) + ctf_enum_value("VALUE: 27", 27) + ctf_enum_auto("AUTO: EXPECT 28") + ctf_enum_range("RANGE: 101 TO 303", 101, 303) + ctf_enum_auto("AUTO: EXPECT 304") + ctf_enum_value("VALUE: -1", -1) + ) +) TRACEPOINT_EVENT(tp, tptest, TP_ARGS(int, anint, int, netint, long *, values, char *, text, size_t, textlen, + char *, etext, uint32_t * , net_values, double, doublearg, float, floatarg), TP_FIELDS( ctf_integer(int, intfield, anint) ctf_integer_hex(int, intfield2, anint) ctf_integer(long, longfield, anint) + ctf_integer(int, signedfield, -1) ctf_integer_network(int, netintfield, netint) ctf_integer_network_hex(int, netintfieldhex, netint) ctf_array(long, arrfield1, values, 3) ctf_array_text(char, arrfield2, text, 10) + ctf_array_network(uint32_t, arrfield3, net_values, 3) ctf_sequence(char, seqfield1, text, size_t, textlen) ctf_sequence_text(char, seqfield2, text, size_t, textlen) + ctf_sequence_network(uint32_t, seqfield3, net_values, size_t, 3) + ctf_sequence(long, seqfield4, values, size_t, 3) ctf_string(stringfield, text) + ctf_string(stringfield2, etext) ctf_float(float, floatfield, floatarg) ctf_float(double, doublefield, doublearg) + ctf_enum(tp, tptest_enum, int, enum0, 0) + ctf_enum(tp, tptest_enum, int, enum23, 23) + ctf_enum(tp, tptest_enum, int, enum27, 27) + ctf_enum(tp, tptest_enum, int, enum28, 28) + ctf_enum(tp, tptest_enum, int, enum202, 202) + ctf_enum(tp, tptest_enum, int, enum304, 304) + ctf_enum(tp, tptest_enum, int, enumnegative, -1) ) ) -- 2.34.1