xref: /linux/tools/testing/selftests/ftrace/test.d/dynevent/add_remove_tprobe.tc (revision 1260ed77798502de9c98020040d2995008de10cc)
16335265eSMasami Hiramatsu (Google)#!/bin/sh
26335265eSMasami Hiramatsu (Google)# SPDX-License-Identifier: GPL-2.0
36335265eSMasami Hiramatsu (Google)# description: Generic dynamic event - add/remove tracepoint probe events
46335265eSMasami Hiramatsu (Google)# requires: dynamic_events "t[:[<group>/][<event>]] <tracepoint> [<args>]":README
56335265eSMasami Hiramatsu (Google)
66335265eSMasami Hiramatsu (Google)echo 0 > events/enable
76335265eSMasami Hiramatsu (Google)echo > dynamic_events
86335265eSMasami Hiramatsu (Google)
9*381af2abSMasami Hiramatsu (Google)SUBSYSTEM=kmem
106335265eSMasami Hiramatsu (Google)TRACEPOINT1=kmem_cache_alloc
116335265eSMasami Hiramatsu (Google)TRACEPOINT2=kmem_cache_free
126335265eSMasami Hiramatsu (Google)
136335265eSMasami Hiramatsu (Google)echo "t:myevent1 $TRACEPOINT1" >> dynamic_events
146335265eSMasami Hiramatsu (Google)echo "t:myevent2 $TRACEPOINT2" >> dynamic_events
156335265eSMasami Hiramatsu (Google)
166335265eSMasami Hiramatsu (Google)grep -q myevent1 dynamic_events
176335265eSMasami Hiramatsu (Google)grep -q myevent2 dynamic_events
186335265eSMasami Hiramatsu (Google)test -d events/tracepoints/myevent1
196335265eSMasami Hiramatsu (Google)test -d events/tracepoints/myevent2
206335265eSMasami Hiramatsu (Google)
216335265eSMasami Hiramatsu (Google)echo "-:myevent2" >> dynamic_events
226335265eSMasami Hiramatsu (Google)
236335265eSMasami Hiramatsu (Google)grep -q myevent1 dynamic_events
246335265eSMasami Hiramatsu (Google)! grep -q myevent2 dynamic_events
256335265eSMasami Hiramatsu (Google)
266335265eSMasami Hiramatsu (Google)echo > dynamic_events
276335265eSMasami Hiramatsu (Google)
28*381af2abSMasami Hiramatsu (Google)# auto naming check
29*381af2abSMasami Hiramatsu (Google)echo "t $TRACEPOINT1" >> dynamic_events
30*381af2abSMasami Hiramatsu (Google)
31*381af2abSMasami Hiramatsu (Google)test -d events/tracepoints/$TRACEPOINT1
32*381af2abSMasami Hiramatsu (Google)
33*381af2abSMasami Hiramatsu (Google)echo > dynamic_events
34*381af2abSMasami Hiramatsu (Google)
35*381af2abSMasami Hiramatsu (Google)# SUBSYSTEM is not supported
36*381af2abSMasami Hiramatsu (Google)echo "t $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||:
37*381af2abSMasami Hiramatsu (Google)echo "t $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||:
38*381af2abSMasami Hiramatsu (Google)echo "t:myevent3 $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||:
39*381af2abSMasami Hiramatsu (Google)echo "t:myevent3 $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||:
40*381af2abSMasami Hiramatsu (Google)
416335265eSMasami Hiramatsu (Google)clear_trace
42