Re: [PATCH] selftests/tracing: Test only toplevel README file not the instances

From: Steven Rostedt
Date: Wed Jan 15 2025 - 20:26:27 EST


On Wed, 15 Jan 2025 19:17:58 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> 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@xxxxxxxxxxx/

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@xxxxxxxxxxx>
> ---
> 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