selftests/ftrace: Skip full-glob-matching filter test on older kernel
authorMasami Hiramatsu <mhiramat@kernel.org>
Tue, 23 May 2017 06:03:43 +0000 (15:03 +0900)
committerShuah Khan <shuahkh@osg.samsung.com>
Wed, 7 Jun 2017 16:07:22 +0000 (10:07 -0600)
Skip a part of ftrace filter test related to full-glob
matching if we are sure that the testing kernel is so old
that it does not support full-glob-matching yet.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
tools/testing/selftests/ftrace/test.d/ftrace/func-filter-glob.tc

index 9dcd0ca..8095e12 100644 (file)
@@ -11,17 +11,6 @@ fi
 disable_tracing
 clear_trace
 
-# filter by ?, schedule is always good
-if ! echo "sch?dule" > set_ftrace_filter; then
-    # test for powerpc 64
-    if ! echo ".sch?dule" > set_ftrace_filter; then
-       fail "can not enable schedule filter"
-    fi
-    cat set_ftrace_filter | grep '^.schedule$'
-else
-    cat set_ftrace_filter | grep '^schedule$'
-fi
-
 ftrace_filter_check() { # glob grep
   echo "$1" > set_ftrace_filter
   cut -f1 -d" " set_ftrace_filter > $TMPDIR/actual
@@ -39,11 +28,28 @@ ftrace_filter_check '*schedule*' '^.*schedule.*$'
 # filter by *, end match
 ftrace_filter_check 'schedule*' '^schedule.*$'
 
+# Advanced full-glob matching feature is recently supported.
+# Skip the tests if we are sure the kernel does not support it.
+if grep -q 'accepts: .* glob-matching-pattern' README ; then
+
 # filter by *, both side match
 ftrace_filter_check 'sch*ule' '^sch.*ule$'
 
 # filter by char class.
 ftrace_filter_check '[Ss]y[Ss]_*' '^[Ss]y[Ss]_.*$'
 
+# filter by ?, schedule is always good
+if ! echo "sch?dule" > set_ftrace_filter; then
+    # test for powerpc 64
+    if ! echo ".sch?dule" > set_ftrace_filter; then
+       fail "can not enable schedule filter"
+    fi
+    cat set_ftrace_filter | grep '^.schedule$'
+else
+    cat set_ftrace_filter | grep '^schedule$'
+fi
+
+fi
+
 echo > set_ftrace_filter
 enable_tracing