]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/tracing: Test only toplevel README file not the instances
authorSteven Rostedt <rostedt@goodmis.org>
Thu, 20 Feb 2025 18:58:00 +0000 (13:58 -0500)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 20 Feb 2025 20:15:01 +0000 (13:15 -0700)
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

Link: https://lore.kernel.org/r/20250220185846.130216270@goodmis.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/ftrace/test.d/functions

index 84d6a9c7ad67a115a938159d929dd26a495370c4..a1052bf460fc29e78e19fc452e8744bd4ccffd58 100644 (file)
@@ -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