This has a problem and needs some updates. On Fri, 26 Jun 2026 23:16:04 +0900 "Masami Hiramatsu (Google)" <[email protected]> wrote:
> diff --git > a/tools/testing/selftests/ftrace/test.d/dynevent/btf_probe_event.tc > b/tools/testing/selftests/ftrace/test.d/dynevent/btf_probe_event.tc > new file mode 100644 > index 000000000000..96791e120b7d > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/dynevent/btf_probe_event.tc > @@ -0,0 +1,51 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0 > +# description: BTF event with typecast and percpu access > +# requires: dynamic_events "this_cpu_read(<fetcharg>)":README > "[(structname[,field])]<argname>[->field[->field|.field...]]":README > + > +# Check if the sample module is loaded > +if ! lsmod | grep -q trace_events_sample; then > + modprobe trace-events-sample || exit_unsupported I think this should be exit_unresolved. > +fi [...] > diff --git > a/tools/testing/selftests/ftrace/test.d/dynevent/btf_typecast_accepted.tc > b/tools/testing/selftests/ftrace/test.d/dynevent/btf_typecast_accepted.tc > new file mode 100644 > index 000000000000..acf0b5a917d3 > --- /dev/null > +++ b/tools/testing/selftests/ftrace/test.d/dynevent/btf_typecast_accepted.tc > @@ -0,0 +1,107 @@ > +#!/bin/sh > +# SPDX-License-Identifier: GPL-2.0 > +# description: BTF typecast and percpu access syntax validation > +# requires: dynamic_events "this_cpu_read(<fetcharg>)":README > "[(structname[,field])]<argname>[->field[->field|.field...]]":README > + > +KPROBES= > +FPROBES= > + > +if grep -qF "p[:[<group>/][<event>]] <place> [<args>]" README ; then > + KPROBES=yes > +fi > +if grep -qF "f[:[<group>/][<event>]] <func-name>[%return] [<args>]" README ; > then > + FPROBES=yes > +fi > + > +if [ -z "$KPROBES" -a -z "$FPROBES" ] ; then > + exit_unsupported > +fi > + > +echo 0 > events/enable > +echo > dynamic_events > + > +# Load trace-events-sample module if available to have per-CPU counter > structure defined > +if ! lsmod | grep -q trace_events_sample; then > + modprobe trace-events-sample || true I think this must be tested, and if the module is not found, the test must return UNRESOLVED error. > +fi [...] > diff --git > a/tools/testing/selftests/ftrace/test.d/dynevent/eprobes_syntax_errors.tc > b/tools/testing/selftests/ftrace/test.d/dynevent/eprobes_syntax_errors.tc > index 0e65e787e426..1d6d1cf94f16 100644 > --- a/tools/testing/selftests/ftrace/test.d/dynevent/eprobes_syntax_errors.tc > +++ b/tools/testing/selftests/ftrace/test.d/dynevent/eprobes_syntax_errors.tc > @@ -21,8 +21,17 @@ check_error 'e:foo/^bar.1 syscalls/sys_enter_openat' > # BAD_EVENT_NAME > > check_error 'e:foo/bar syscalls/sys_enter_openat arg=^$foo' # BAD_ATTACH_ARG > > +check_error 'e:foo/bar syscalls/sys_enter_openat arg=^COMM' # NO_EVENT_FIELD > +if grep -q '\\$current' README; then Sashiko found a problem here. Indeed. this is wrong. See below: > diff --git > a/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc > b/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc > index c817158b99db..e12dc967ec76 100644 > --- a/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc > +++ b/tools/testing/selftests/ftrace/test.d/kprobe/uprobe_syntax_errors.tc > @@ -28,4 +28,9 @@ if grep -q ".*symstr.*" README; then > check_error 'p /bin/sh:10 $stack0:^symstr' # BAD_TYPE > fi > > +# $current is not supported by uprobe > +if grep -q "\$current.*" README; then This is correct check. Let me fix those. Thanks, -- Masami Hiramatsu (Google) <[email protected]>
