linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances
@ 2025-02-20 18:57 Steven Rostedt
  2025-02-20 18:58 ` [RESEND][PATCH 1/3] " Steven Rostedt
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Steven Rostedt @ 2025-02-20 18:57 UTC (permalink / raw)
  To: linux-kernel, linux-trace-kernel, linux-kselftest
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Shuah Khan

Allow some more tests to run in instances. There's a few tests that
require something in README to be present to run. But currently README
can't be used for instance tests. Fix that and then allow 4 more tests
to run in instances.

[ RESEND to include selftest maintainers and lists:
  original: https://lore.kernel.org/linux-trace-kernel/20250116012009.840870709@goodmis.org/ ]


Steven Rostedt (3):
      selftests/tracing: Test only toplevel README file not the instances
      selftests/ftrace: Clean up triggers after setting them
      selftests/tracing: Allow some more tests to run in instances

----
 tools/testing/selftests/ftrace/test.d/functions                   | 8 +++++++-
 .../test.d/trigger/inter-event/trigger-action-hist-xfail.tc       | 1 +
 .../test.d/trigger/inter-event/trigger-onchange-action-hist.tc    | 3 +++
 .../test.d/trigger/inter-event/trigger-snapshot-action-hist.tc    | 3 +++
 .../selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc   | 1 +
 5 files changed, 15 insertions(+), 1 deletion(-)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [RESEND][PATCH 1/3] selftests/tracing: Test only toplevel README file not the instances
  2025-02-20 18:57 [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Steven Rostedt
@ 2025-02-20 18:58 ` Steven Rostedt
  2025-02-20 18:58 ` [RESEND][PATCH 2/3] selftests/ftrace: Clean up triggers after setting them Steven Rostedt
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2025-02-20 18:58 UTC (permalink / raw)
  To: linux-kernel, linux-trace-kernel, linux-kselftest
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Shuah Khan

From: Steven Rostedt <rostedt@goodmis.org>

For the tests that have both a README attribute as well as the instance
flag to run the tests as an instance, the instance version will always
exit with UNSUPPORTED. That's because the instance directory does not
contain a README file. Currently, the tests check for a README file in the
directory that the test runs in and if there's a requirement for something
to be present in the README file, it will not find it, as the instance
directory doesn't have it.

Have the tests check if the current directory is an instance directory,
and if it is, check two directories above the current directory for the
README file:

  /sys/kernel/tracing/README
  /sys/kernel/tracing/instances/foo/../../README

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 tools/testing/selftests/ftrace/test.d/functions | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
index 84d6a9c7ad67..a1052bf460fc 100644
--- a/tools/testing/selftests/ftrace/test.d/functions
+++ b/tools/testing/selftests/ftrace/test.d/functions
@@ -156,7 +156,13 @@ check_requires() { # Check required files and tracers
                 exit_unsupported
             fi
         elif [ "$r" != "$i" ]; then
-            if ! grep -Fq "$r" README ; then
+	    # If this is an instance, check the top directory
+	    if echo $TRACING_DIR | grep -q "/instances/"; then
+		test="$TRACING_DIR/../.."
+	    else
+		test=$TRACING_DIR
+	    fi
+            if ! grep -Fq "$r" $test/README ; then
                 echo "Required feature pattern \"$r\" is not in README."
                 exit_unsupported
             fi
-- 
2.47.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [RESEND][PATCH 2/3] selftests/ftrace: Clean up triggers after setting them
  2025-02-20 18:57 [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Steven Rostedt
  2025-02-20 18:58 ` [RESEND][PATCH 1/3] " Steven Rostedt
@ 2025-02-20 18:58 ` Steven Rostedt
  2025-02-20 18:58 ` [RESEND][PATCH 3/3] selftests/tracing: Allow some more tests to run in instances Steven Rostedt
  2025-02-20 20:18 ` [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Shuah Khan
  3 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2025-02-20 18:58 UTC (permalink / raw)
  To: linux-kernel, linux-trace-kernel, linux-kselftest
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Shuah Khan

From: Steven Rostedt <rostedt@goodmis.org>

The triggers set in trigger-onchange-action-hist.tc and
trigger-snapshot-action-hist.tc are not cleaned up at the end. These tests
can also be done in instances and without cleaning up the triggers, the
instances can not be removed as they are still "busy".

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 .../test.d/trigger/inter-event/trigger-onchange-action-hist.tc  | 2 ++
 .../test.d/trigger/inter-event/trigger-snapshot-action-hist.tc  | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
index 91339c130832..2430f541cd5d 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
@@ -19,4 +19,6 @@ if ! grep -q "changed:" events/sched/sched_waking/hist; then
     fail "Failed to create onchange action inter-event histogram"
 fi
 
+echo '!hist:keys=comm:newprio=prio:onchange($newprio).save(comm,prio) if comm=="ping"' >> events/sched/sched_waking/trigger
+
 exit 0
diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
index 147967e86584..334595daa9f4 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
@@ -27,4 +27,6 @@ if ! grep -q "comm=ping" snapshot; then
     fail "Failed to create snapshot action inter-event histogram"
 fi
 
+echo '!hist:keys=comm:newprio=prio:onchange($newprio).save(comm,prio):onchange($newprio).snapshot() if comm=="ping"' >> events/sched/sched_waking/trigger
+
 exit 0
-- 
2.47.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [RESEND][PATCH 3/3] selftests/tracing: Allow some more tests to run in instances
  2025-02-20 18:57 [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Steven Rostedt
  2025-02-20 18:58 ` [RESEND][PATCH 1/3] " Steven Rostedt
  2025-02-20 18:58 ` [RESEND][PATCH 2/3] selftests/ftrace: Clean up triggers after setting them Steven Rostedt
@ 2025-02-20 18:58 ` Steven Rostedt
  2025-02-20 20:18 ` [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Shuah Khan
  3 siblings, 0 replies; 5+ messages in thread
From: Steven Rostedt @ 2025-02-20 18:58 UTC (permalink / raw)
  To: linux-kernel, linux-trace-kernel, linux-kselftest
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Shuah Khan

From: Steven Rostedt <rostedt@goodmis.org>

The tests:

  trigger-action-hist-xfail.tc
  trigger-onchange-action-hist.tc
  trigger-snapshot-action-hist.tc
  trigger-hist-expressions.tc

can all run in an instance. Test them in an instance as well.

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 .../test.d/trigger/inter-event/trigger-action-hist-xfail.tc      | 1 +
 .../test.d/trigger/inter-event/trigger-onchange-action-hist.tc   | 1 +
 .../test.d/trigger/inter-event/trigger-snapshot-action-hist.tc   | 1 +
 .../selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc  | 1 +
 4 files changed, 4 insertions(+)

diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc
index 1590d6bfb857..20a35fea13f8 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-action-hist-xfail.tc
@@ -2,6 +2,7 @@
 # SPDX-License-Identifier: GPL-2.0
 # description: event trigger - test inter-event histogram trigger expected fail actions
 # requires: set_event snapshot "snapshot()":README
+# flags: instance
 
 fail() { #msg
     echo $1
diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
index 2430f541cd5d..55ab0270e5f7 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-onchange-action-hist.tc
@@ -2,6 +2,7 @@
 # SPDX-License-Identifier: GPL-2.0
 # description: event trigger - test inter-event histogram trigger onchange action
 # requires: set_event "onchange(var)":README ping:program
+# flags: instance
 
 fail() { #msg
     echo $1
diff --git a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
index 334595daa9f4..9eb37c2fa417 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-snapshot-action-hist.tc
@@ -2,6 +2,7 @@
 # SPDX-License-Identifier: GPL-2.0
 # description: event trigger - test inter-event histogram trigger snapshot action
 # requires: set_event snapshot events/sched/sched_process_fork/hist "onchange(var)":README "snapshot()":README ping:program
+# flags: instance
 
 fail() { #msg
     echo $1
diff --git a/tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc b/tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc
index 05ffba299dbf..0ebda2068a00 100644
--- a/tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc
+++ b/tools/testing/selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc
@@ -2,6 +2,7 @@
 # SPDX-License-Identifier: GPL-2.0
 # description: event trigger - test histogram expression parsing
 # requires: set_event events/sched/sched_process_fork/trigger events/sched/sched_process_fork/hist error_log "<var1>=<field|var_ref|numeric_literal>":README
+# flags: instance
 
 
 fail() { #msg
-- 
2.47.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances
  2025-02-20 18:57 [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Steven Rostedt
                   ` (2 preceding siblings ...)
  2025-02-20 18:58 ` [RESEND][PATCH 3/3] selftests/tracing: Allow some more tests to run in instances Steven Rostedt
@ 2025-02-20 20:18 ` Shuah Khan
  3 siblings, 0 replies; 5+ messages in thread
From: Shuah Khan @ 2025-02-20 20:18 UTC (permalink / raw)
  To: Steven Rostedt, linux-kernel, linux-trace-kernel, linux-kselftest
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Shuah Khan

On 2/20/25 11:57, Steven Rostedt wrote:
> Allow some more tests to run in instances. There's a few tests that
> require something in README to be present to run. But currently README
> can't be used for instance tests. Fix that and then allow 4 more tests
> to run in instances.
> 
> [ RESEND to include selftest maintainers and lists:
>    original: https://lore.kernel.org/linux-trace-kernel/20250116012009.840870709@goodmis.org/ ]
> 
> 
> Steven Rostedt (3):
>        selftests/tracing: Test only toplevel README file not the instances
>        selftests/ftrace: Clean up triggers after setting them
>        selftests/tracing: Allow some more tests to run in instances
> 
> ----
>   tools/testing/selftests/ftrace/test.d/functions                   | 8 +++++++-
>   .../test.d/trigger/inter-event/trigger-action-hist-xfail.tc       | 1 +
>   .../test.d/trigger/inter-event/trigger-onchange-action-hist.tc    | 3 +++
>   .../test.d/trigger/inter-event/trigger-snapshot-action-hist.tc    | 3 +++
>   .../selftests/ftrace/test.d/trigger/trigger-hist-expressions.tc   | 1 +
>   5 files changed, 15 insertions(+), 1 deletion(-)

Thanks - applied for Linux 6.15-rc1

thanks,
-- Shuah

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-02-20 20:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-20 18:57 [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Steven Rostedt
2025-02-20 18:58 ` [RESEND][PATCH 1/3] " Steven Rostedt
2025-02-20 18:58 ` [RESEND][PATCH 2/3] selftests/ftrace: Clean up triggers after setting them Steven Rostedt
2025-02-20 18:58 ` [RESEND][PATCH 3/3] selftests/tracing: Allow some more tests to run in instances Steven Rostedt
2025-02-20 20:18 ` [RESEND][PATCH 0/3] selftests/tracing: Test only toplevel README file not the instances Shuah Khan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).