Re: [PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-11-01 Thread Masami Hiramatsu
On Tue, 30 Oct 2018 14:21:12 -0400
Sasha Levin  wrote:

> On Tue, Oct 30, 2018 at 10:58:15AM -0400, Steven Rostedt wrote:
> >On Tue, 30 Oct 2018 09:28:22 -0400
> >Sasha Levin  wrote:
> >
> >> From: Masami Hiramatsu 
> >>
> >> [ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]
> >>
> >> Add a testcase to check the syntax and field types for
> >> synthetic_events interface.
> >>
> >> Link: 
> >> http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox
> >>
> >> Acked-by: Shuah Khan 
> >> Signed-off-by: Masami Hiramatsu 
> >> Signed-off-by: Steven Rostedt (VMware) 
> >> Signed-off-by: Sasha Levin 
> >
> >Why are you adding selftests for old kernels to test a feature that
> >wasn't added until 4.17?
> 
> We backport all selftest patches to stable to keep selftest on stable
> kernels as similar as possible to upstream.

Hi Sasha,
Yes, you can feel free to backport selftests fix, but also please backport
corresponding bugfix patches. Unless it, the stable tree will fail the test.

Thank you,


-- 
Masami Hiramatsu 


Re: [PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-11-01 Thread Masami Hiramatsu
On Tue, 30 Oct 2018 14:21:12 -0400
Sasha Levin  wrote:

> On Tue, Oct 30, 2018 at 10:58:15AM -0400, Steven Rostedt wrote:
> >On Tue, 30 Oct 2018 09:28:22 -0400
> >Sasha Levin  wrote:
> >
> >> From: Masami Hiramatsu 
> >>
> >> [ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]
> >>
> >> Add a testcase to check the syntax and field types for
> >> synthetic_events interface.
> >>
> >> Link: 
> >> http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox
> >>
> >> Acked-by: Shuah Khan 
> >> Signed-off-by: Masami Hiramatsu 
> >> Signed-off-by: Steven Rostedt (VMware) 
> >> Signed-off-by: Sasha Levin 
> >
> >Why are you adding selftests for old kernels to test a feature that
> >wasn't added until 4.17?
> 
> We backport all selftest patches to stable to keep selftest on stable
> kernels as similar as possible to upstream.

Hi Sasha,
Yes, you can feel free to backport selftests fix, but also please backport
corresponding bugfix patches. Unless it, the stable tree will fail the test.

Thank you,


-- 
Masami Hiramatsu 


Re: [PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-10-30 Thread Sasha Levin

On Tue, Oct 30, 2018 at 10:58:15AM -0400, Steven Rostedt wrote:

On Tue, 30 Oct 2018 09:28:22 -0400
Sasha Levin  wrote:


From: Masami Hiramatsu 

[ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]

Add a testcase to check the syntax and field types for
synthetic_events interface.

Link: 
http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox

Acked-by: Shuah Khan 
Signed-off-by: Masami Hiramatsu 
Signed-off-by: Steven Rostedt (VMware) 
Signed-off-by: Sasha Levin 


Why are you adding selftests for old kernels to test a feature that
wasn't added until 4.17?


We backport all selftest patches to stable to keep selftest on stable
kernels as similar as possible to upstream.

--
Thanks,
Sasha


Re: [PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-10-30 Thread Sasha Levin

On Tue, Oct 30, 2018 at 10:58:15AM -0400, Steven Rostedt wrote:

On Tue, 30 Oct 2018 09:28:22 -0400
Sasha Levin  wrote:


From: Masami Hiramatsu 

[ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]

Add a testcase to check the syntax and field types for
synthetic_events interface.

Link: 
http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox

Acked-by: Shuah Khan 
Signed-off-by: Masami Hiramatsu 
Signed-off-by: Steven Rostedt (VMware) 
Signed-off-by: Sasha Levin 


Why are you adding selftests for old kernels to test a feature that
wasn't added until 4.17?


We backport all selftest patches to stable to keep selftest on stable
kernels as similar as possible to upstream.

--
Thanks,
Sasha


Re: [PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-10-30 Thread Steven Rostedt
On Tue, 30 Oct 2018 09:28:22 -0400
Sasha Levin  wrote:

> From: Masami Hiramatsu 
> 
> [ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]
> 
> Add a testcase to check the syntax and field types for
> synthetic_events interface.
> 
> Link: 
> http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox
> 
> Acked-by: Shuah Khan 
> Signed-off-by: Masami Hiramatsu 
> Signed-off-by: Steven Rostedt (VMware) 
> Signed-off-by: Sasha Levin 

Why are you adding selftests for old kernels to test a feature that
wasn't added until 4.17?

-- Steve


Re: [PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-10-30 Thread Steven Rostedt
On Tue, 30 Oct 2018 09:28:22 -0400
Sasha Levin  wrote:

> From: Masami Hiramatsu 
> 
> [ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]
> 
> Add a testcase to check the syntax and field types for
> synthetic_events interface.
> 
> Link: 
> http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox
> 
> Acked-by: Shuah Khan 
> Signed-off-by: Masami Hiramatsu 
> Signed-off-by: Steven Rostedt (VMware) 
> Signed-off-by: Sasha Levin 

Why are you adding selftests for old kernels to test a feature that
wasn't added until 4.17?

-- Steve


[PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-10-30 Thread Sasha Levin
From: Masami Hiramatsu 

[ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]

Add a testcase to check the syntax and field types for
synthetic_events interface.

Link: 
http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox

Acked-by: Shuah Khan 
Signed-off-by: Masami Hiramatsu 
Signed-off-by: Steven Rostedt (VMware) 
Signed-off-by: Sasha Levin 
---
 .../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 ..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
-- 
2.17.1



[PATCH AUTOSEL 4.14 17/19] selftests: ftrace: Add synthetic event syntax testcase

2018-10-30 Thread Sasha Levin
From: Masami Hiramatsu 

[ Upstream commit ba0e41ca81b935b958006c7120466e2217357827 ]

Add a testcase to check the syntax and field types for
synthetic_events interface.

Link: 
http://lkml.kernel.org/r/153986838264.18251.16627517536956299922.stgit@devbox

Acked-by: Shuah Khan 
Signed-off-by: Masami Hiramatsu 
Signed-off-by: Steven Rostedt (VMware) 
Signed-off-by: Sasha Levin 
---
 .../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 ..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
-- 
2.17.1