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:
Steven Rostedt (VMware) 2018-05-25 17:39:25 -04:00
parent a7dfdbef94
commit 33697bd486
1 changed files with 74 additions and 0 deletions

View File

@ -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