Skip to content

Commit 0282b0f

Browse files
committed
selftests/ftrace: Update test for more eprobe removal process
The removal of eprobes was broken and missed in testing. Add various ways to remove eprobes that are considered acceptable to the testing process to catch when/if they break again. Link: https://lkml.kernel.org/r/[email protected] Acked-by: Masami Hiramatsu <[email protected]> Signed-off-by: Steven Rostedt (VMware) <[email protected]>
1 parent 7d5fda1 commit 0282b0f

File tree

1 file changed

+52
-2
lines changed

1 file changed

+52
-2
lines changed

tools/testing/selftests/ftrace/test.d/dynevent/add_remove_eprobe.tc

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ SYSTEM="syscalls"
1111
EVENT="sys_enter_openat"
1212
FIELD="filename"
1313
EPROBE="eprobe_open"
14-
15-
echo "e:$EPROBE $SYSTEM/$EVENT file=+0(\$filename):ustring" >> dynamic_events
14+
OPTIONS="file=+0(\$filename):ustring"
15+
echo "e:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
1616

1717
grep -q "$EPROBE" dynamic_events
1818
test -d events/eprobes/$EPROBE
@@ -37,4 +37,54 @@ echo "-:$EPROBE" >> dynamic_events
3737
! grep -q "$EPROBE" dynamic_events
3838
! test -d events/eprobes/$EPROBE
3939

40+
# test various ways to remove the probe (already tested with just event name)
41+
42+
# With group name
43+
echo "e:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
44+
grep -q "$EPROBE" dynamic_events
45+
test -d events/eprobes/$EPROBE
46+
echo "-:eprobes/$EPROBE" >> dynamic_events
47+
! grep -q "$EPROBE" dynamic_events
48+
! test -d events/eprobes/$EPROBE
49+
50+
# With group name and system/event
51+
echo "e:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
52+
grep -q "$EPROBE" dynamic_events
53+
test -d events/eprobes/$EPROBE
54+
echo "-:eprobes/$EPROBE $SYSTEM/$EVENT" >> dynamic_events
55+
! grep -q "$EPROBE" dynamic_events
56+
! test -d events/eprobes/$EPROBE
57+
58+
# With just event name and system/event
59+
echo "e:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
60+
grep -q "$EPROBE" dynamic_events
61+
test -d events/eprobes/$EPROBE
62+
echo "-:$EPROBE $SYSTEM/$EVENT" >> dynamic_events
63+
! grep -q "$EPROBE" dynamic_events
64+
! test -d events/eprobes/$EPROBE
65+
66+
# With just event name and system/event and options
67+
echo "e:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
68+
grep -q "$EPROBE" dynamic_events
69+
test -d events/eprobes/$EPROBE
70+
echo "-:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
71+
! grep -q "$EPROBE" dynamic_events
72+
! test -d events/eprobes/$EPROBE
73+
74+
# With group name and system/event and options
75+
echo "e:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
76+
grep -q "$EPROBE" dynamic_events
77+
test -d events/eprobes/$EPROBE
78+
echo "-:eprobes/$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
79+
! grep -q "$EPROBE" dynamic_events
80+
! test -d events/eprobes/$EPROBE
81+
82+
# Finally make sure what is in the dynamic_events file clears it too
83+
echo "e:$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
84+
LINE=`sed -e '/$EPROBE/s/^e/-/' < dynamic_events`
85+
test -d events/eprobes/$EPROBE
86+
echo "-:eprobes/$EPROBE $SYSTEM/$EVENT $OPTIONS" >> dynamic_events
87+
! grep -q "$EPROBE" dynamic_events
88+
! test -d events/eprobes/$EPROBE
89+
4090
clear_trace

0 commit comments

Comments
 (0)