Re: [PATCH] selftests/ftrace: skip ftrace test if FTRACE was not enabled

From: shuah
Date: Tue Jul 02 2019 - 15:22:30 EST


Hi Po-Hsu Lin,

On 7/2/19 12:23 AM, Po-Hsu Lin wrote:
The ftrace test will need to have CONFIG_FTRACE enabled to make the
ftrace directory available.

Add an additional check to skip this test if the CONFIG_FTRACE was not
enabled.

This will be helpful to avoid a false-positive test result when testing
it directly with the following commad against a kernel that does not
have CONFIG_FTRACE enabled:
make -C tools/testing/selftests TARGETS=ftrace run_tests

The test result on an Ubuntu KVM kernel will be changed from:
selftests: ftrace: ftracetest
========================================
Error: No ftrace directory found
not ok 1..1 selftests: ftrace: ftracetest [FAIL]
To:

Thanks for the patch.

Check patch fails with the above To:

WARNING: Use a single space after To:
#107:
To:

ERROR: Unrecognized email address: ''
#107:
To:

total: 1 errors, 1 warnings, 23 lines checked


Please fix and send v2.

selftests: ftrace: ftracetest
========================================
CONFIG_FTRACE was not enabled, test skipped.
not ok 1..1 selftests: ftrace: ftracetest [SKIP]

Signed-off-by: Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx>
---
tools/testing/selftests/ftrace/ftracetest | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
index 6d5e9e8..6c8322e 100755
--- a/tools/testing/selftests/ftrace/ftracetest
+++ b/tools/testing/selftests/ftrace/ftracetest
@@ -7,6 +7,9 @@
# Written by Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx>
#

Hmm. You havem't cc'ed Masami on this. Adding Masami.

I would think Masami should be on the Signed-off-by as well,
since he is the author.

+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
usage() { # errno [message]
[ ! -z "$2" ] && echo $2
echo "Usage: ftracetest [options] [testcase(s)] [testcase-directory(s)]"
@@ -139,7 +142,13 @@ parse_opts $*
# Verify parameters
if [ -z "$TRACING_DIR" -o ! -d "$TRACING_DIR" ]; then
- errexit "No ftrace directory found"
+ ftrace_enabled=`grep "^CONFIG_FTRACE=y" /lib/modules/$(uname -r)/build/.config`
+ if [ -z "$ftrace_enabled" ]; then
+ echo "CONFIG_FTRACE was not enabled, test skipped."
+ exit $ksft_skip
+ else
+ errexit "No ftrace directory found"
+ fi
fi
# Preparing logs


thanks,
-- Shuah