tracing/selftest: Add test to test simple snapshot trigger for trace_marker
Several complex trigger tests were added for trace_marker, but not a simple one. This could be used to help diagnose a problem with the code by giving a reference between how complex a trigger is that fails. Suggested-by: Masami Hiramatsu <mhiramat@kernel.org> Acked-by: Masami Hiramatsu <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
parent
a7dfdbef94
commit
33697bd486
|
@ -0,0 +1,74 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# description: trace_marker trigger - test snapshot trigger
|
||||
# flags: instance
|
||||
|
||||
do_reset() {
|
||||
reset_trigger
|
||||
echo > set_event
|
||||
echo 0 > snapshot
|
||||
clear_trace
|
||||
}
|
||||
|
||||
fail() { #msg
|
||||
do_reset
|
||||
echo $1
|
||||
exit_fail
|
||||
}
|
||||
|
||||
if [ ! -f set_event ]; then
|
||||
echo "event tracing is not supported"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
if [ ! -f snapshot ]; then
|
||||
echo "snapshot is not supported"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
if [ ! -d events/ftrace/print ]; then
|
||||
echo "event trace_marker is not supported"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
if [ ! -f events/ftrace/print/trigger ]; then
|
||||
echo "event trigger is not supported"
|
||||
exit_unsupported
|
||||
fi
|
||||
|
||||
test_trace() {
|
||||
file=$1
|
||||
x=$2
|
||||
|
||||
cat $file | while read line; do
|
||||
comment=`echo $line | sed -e 's/^#//'`
|
||||
if [ "$line" != "$comment" ]; then
|
||||
continue
|
||||
fi
|
||||
echo "testing $line for >$x<"
|
||||
match=`echo $line | sed -e "s/>$x<//"`
|
||||
if [ "$line" == "$match" ]; then
|
||||
fail "$line does not have >$x< in it"
|
||||
fi
|
||||
let x=$x+2
|
||||
done
|
||||
}
|
||||
|
||||
do_reset
|
||||
|
||||
echo "Test snapshot trace_marker tigger"
|
||||
|
||||
echo 'snapshot' > events/ftrace/print/trigger
|
||||
|
||||
# make sure the snapshot is allocated
|
||||
|
||||
grep -q 'Snapshot is allocated' snapshot
|
||||
|
||||
for i in `seq 1 10` ; do echo "hello >$i<" > trace_marker; done
|
||||
|
||||
test_trace trace 1
|
||||
test_trace snapshot 2
|
||||
|
||||
do_reset
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue