Skip to content

Commit 33697bd

Browse files
committed
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 <[email protected]> Acked-by: Masami Hiramatsu <[email protected]> Signed-off-by: Steven Rostedt (VMware) <[email protected]>
1 parent a7dfdbe commit 33697bd

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#!/bin/sh
2+
# SPDX-License-Identifier: GPL-2.0
3+
# description: trace_marker trigger - test snapshot trigger
4+
# flags: instance
5+
6+
do_reset() {
7+
reset_trigger
8+
echo > set_event
9+
echo 0 > snapshot
10+
clear_trace
11+
}
12+
13+
fail() { #msg
14+
do_reset
15+
echo $1
16+
exit_fail
17+
}
18+
19+
if [ ! -f set_event ]; then
20+
echo "event tracing is not supported"
21+
exit_unsupported
22+
fi
23+
24+
if [ ! -f snapshot ]; then
25+
echo "snapshot is not supported"
26+
exit_unsupported
27+
fi
28+
29+
if [ ! -d events/ftrace/print ]; then
30+
echo "event trace_marker is not supported"
31+
exit_unsupported
32+
fi
33+
34+
if [ ! -f events/ftrace/print/trigger ]; then
35+
echo "event trigger is not supported"
36+
exit_unsupported
37+
fi
38+
39+
test_trace() {
40+
file=$1
41+
x=$2
42+
43+
cat $file | while read line; do
44+
comment=`echo $line | sed -e 's/^#//'`
45+
if [ "$line" != "$comment" ]; then
46+
continue
47+
fi
48+
echo "testing $line for >$x<"
49+
match=`echo $line | sed -e "s/>$x<//"`
50+
if [ "$line" == "$match" ]; then
51+
fail "$line does not have >$x< in it"
52+
fi
53+
let x=$x+2
54+
done
55+
}
56+
57+
do_reset
58+
59+
echo "Test snapshot trace_marker tigger"
60+
61+
echo 'snapshot' > events/ftrace/print/trigger
62+
63+
# make sure the snapshot is allocated
64+
65+
grep -q 'Snapshot is allocated' snapshot
66+
67+
for i in `seq 1 10` ; do echo "hello >$i<" > trace_marker; done
68+
69+
test_trace trace 1
70+
test_trace snapshot 2
71+
72+
do_reset
73+
74+
exit 0

0 commit comments

Comments
 (0)