diff mbox series

selftests/tracing: Test only toplevel README file not the instances

Message ID 20250115191758.35b62738@gandalf.local.home (mailing list archive)
State New
Headers show
Series selftests/tracing: Test only toplevel README file not the instances | expand

Commit Message

Steven Rostedt Jan. 16, 2025, 12:17 a.m. UTC
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(-)

Comments

Steven Rostedt Jan. 16, 2025, 1:26 a.m. UTC | #1
On Wed, 15 Jan 2025 19:17:58 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> 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

This is the same patch as:

  https://lore.kernel.org/all/20250116012041.326701057@goodmis.org/

But as there are other patches that depended on it, I just added this one
into a patch set with them. But decided not to make that patch set a v2 as
there was no changes with this one.

Damn, I forgot to add Shuah and kselftests mailing list to that one though :-p

-- Steve


> 
> 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 779f3e62ec90..9f2a67fbaf4d 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
diff mbox series

Patch

diff --git a/tools/testing/selftests/ftrace/test.d/functions b/tools/testing/selftests/ftrace/test.d/functions
index 779f3e62ec90..9f2a67fbaf4d 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