Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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/20211013205533.836644549@goodmis.org

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

+52 -2
+52 -2
tools/testing/selftests/ftrace/test.d/dynevent/add_remove_eprobe.tc
··· 11 11 EVENT="sys_enter_openat" 12 12 FIELD="filename" 13 13 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 16 16 17 17 grep -q "$EPROBE" dynamic_events 18 18 test -d events/eprobes/$EPROBE ··· 34 34 35 35 echo "-:$EPROBE" >> dynamic_events 36 36 37 + ! grep -q "$EPROBE" dynamic_events 38 + ! test -d events/eprobes/$EPROBE 39 + 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 37 87 ! grep -q "$EPROBE" dynamic_events 38 88 ! test -d events/eprobes/$EPROBE 39 89