Hi Masami,
Thanks! I pulled this into my urgent queue and will be running tests on it over night. Shuah, can you ack this patch, as I want to add it to this release, along with the other changes. Thanks! -- Steve On Thu, 18 Oct 2018 22:13:02 +0900 Masami Hiramatsu <[email protected]> wrote: > Add a testcase to check the syntax and field types for > synthetic_events interface. > > Signed-off-by: Masami Hiramatsu <[email protected]> > --- > .../inter-event/trigger-synthetic-event-syntax.tc | 80 > ++++++++++++++++++++ > 1 file changed, 80 insertions(+) > create mode 100644 > tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-syntax.tc > > diff --git > a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-syntax.tc > > b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-syntax.tc > new file mode 100644 > index 000000000000..88e6c3f43006 > --- /dev/null > +++ > b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-syntax.tc > @@ -0,0 +1,80 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0 > +# description: event trigger - test synthetic_events syntax parser > + > +do_reset() { > + reset_trigger > + echo > set_event > + clear_trace > +} > + > +fail() { #msg > + do_reset > + echo $1 > + exit_fail > +} > + > +if [ ! -f set_event ]; then > + echo "event tracing is not supported" > + exit_unsupported > +fi > + > +if [ ! -f synthetic_events ]; then > + echo "synthetic event is not supported" > + exit_unsupported > +fi > + > +reset_tracer > +do_reset > + > +echo "Test synthetic_events syntax parser" > + > +echo > synthetic_events > + > +# synthetic event must have a field > +! echo "myevent" >> synthetic_events > +echo "myevent u64 var1" >> synthetic_events > + > +# synthetic event must be found in synthetic_events > +grep "myevent[[:space:]]u64 var1" synthetic_events > + > +# it is not possible to add same name event > +! echo "myevent u64 var2" >> synthetic_events > + > +# Non-append open will cleanup all events and add new one > +echo "myevent u64 var2" > synthetic_events > + > +# multiple fields with different spaces > +echo "myevent u64 var1; u64 var2;" > synthetic_events > +grep "myevent[[:space:]]u64 var1; u64 var2" synthetic_events > +echo "myevent u64 var1 ; u64 var2 ;" > synthetic_events > +grep "myevent[[:space:]]u64 var1; u64 var2" synthetic_events > +echo "myevent u64 var1 ;u64 var2" > synthetic_events > +grep "myevent[[:space:]]u64 var1; u64 var2" synthetic_events > + > +# test field types > +echo "myevent u32 var" > synthetic_events > +echo "myevent u16 var" > synthetic_events > +echo "myevent u8 var" > synthetic_events > +echo "myevent s64 var" > synthetic_events > +echo "myevent s32 var" > synthetic_events > +echo "myevent s16 var" > synthetic_events > +echo "myevent s8 var" > synthetic_events > + > +echo "myevent char var" > synthetic_events > +echo "myevent int var" > synthetic_events > +echo "myevent long var" > synthetic_events > +echo "myevent pid_t var" > synthetic_events > + > +echo "myevent unsigned char var" > synthetic_events > +echo "myevent unsigned int var" > synthetic_events > +echo "myevent unsigned long var" > synthetic_events > +grep "myevent[[:space:]]unsigned long var" synthetic_events > + > +# test string type > +echo "myevent char var[10]" > synthetic_events > +grep "myevent[[:space:]]char\[10\] var" synthetic_events > + > +do_reset > + > +exit 0

