diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-05-25 17:39:25 -0400 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2018-06-04 17:28:01 -0400 |
commit | 33697bd486930d2577da9efa8707a8a1502274e4 (patch) | |
tree | d8a4a5e276fc5403737f8841032027378534a084 | |
parent | a7dfdbef94f8615a0b4f552ac85ffb99691d1490 (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.tc | 74 |
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 | |||
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 | ||