aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2018-05-25 17:39:25 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2018-06-04 17:28:01 -0400
commit33697bd486930d2577da9efa8707a8a1502274e4 (patch)
treed8a4a5e276fc5403737f8841032027378534a084
parenta7dfdbef94f8615a0b4f552ac85ffb99691d1490 (diff)
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>
-rw-r--r--tools/testing/selftests/ftrace/test.d/trigger/trigger-trace-marker-snapshot.tc74
1 files changed, 74 insertions, 0 deletions
diff --git a/tools/testing/selftests/ftrace/test.d/trigger/trigger-trace-marker-snapshot.tc b/tools/testing/selftests/ftrace/test.d/trigger/trigger-trace-marker-snapshot.tc
new file mode 100644
index 000000000000..6748e8cb42d0
--- /dev/null
+++ b/tools/testing/selftests/ftrace/test.d/trigger/trigger-trace-marker-snapshot.tc
@@ -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
6do_reset() {
7 reset_trigger
8 echo > set_event
9 echo 0 > snapshot
10 clear_trace
11}
12
13fail() { #msg
14 do_reset
15 echo $1
16 exit_fail
17}
18
19if [ ! -f set_event ]; then
20 echo "event tracing is not supported"
21 exit_unsupported
22fi
23
24if [ ! -f snapshot ]; then
25 echo "snapshot is not supported"
26 exit_unsupported
27fi
28
29if [ ! -d events/ftrace/print ]; then
30 echo "event trace_marker is not supported"
31 exit_unsupported
32fi
33
34if [ ! -f events/ftrace/print/trigger ]; then
35 echo "event trigger is not supported"
36 exit_unsupported
37fi
38
39test_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
57do_reset
58
59echo "Test snapshot trace_marker tigger"
60
61echo 'snapshot' > events/ftrace/print/trigger
62
63# make sure the snapshot is allocated
64
65grep -q 'Snapshot is allocated' snapshot
66
67for i in `seq 1 10` ; do echo "hello >$i<" > trace_marker; done
68
69test_trace trace 1
70test_trace snapshot 2
71
72do_reset
73
74exit 0