xref: /openbmc/linux/tools/testing/ktest/examples/bootconfigs/verify-boottrace.sh (revision 762f99f4f3cb41a775b5157dd761217beba65873)
1171ec346SSteven Rostedt (VMware)#!/bin/sh
2171ec346SSteven Rostedt (VMware)
3171ec346SSteven Rostedt (VMware)cd /sys/kernel/tracing
4171ec346SSteven Rostedt (VMware)
5171ec346SSteven Rostedt (VMware)compare_file() {
6171ec346SSteven Rostedt (VMware)	file="$1"
7171ec346SSteven Rostedt (VMware)	val="$2"
8171ec346SSteven Rostedt (VMware)	content=`cat $file`
9171ec346SSteven Rostedt (VMware)	if [ "$content" != "$val" ]; then
10171ec346SSteven Rostedt (VMware)		echo "FAILED: $file has '$content', expected '$val'"
11171ec346SSteven Rostedt (VMware)		exit 1
12171ec346SSteven Rostedt (VMware)	fi
13171ec346SSteven Rostedt (VMware)}
14171ec346SSteven Rostedt (VMware)
15171ec346SSteven Rostedt (VMware)compare_file_partial() {
16171ec346SSteven Rostedt (VMware)	file="$1"
17171ec346SSteven Rostedt (VMware)	val="$2"
18171ec346SSteven Rostedt (VMware)	content=`cat $file | sed -ne "/^$val/p"`
19171ec346SSteven Rostedt (VMware)	if [ -z "$content" ]; then
20171ec346SSteven Rostedt (VMware)		echo "FAILED: $file does not contain '$val'"
21171ec346SSteven Rostedt (VMware)		cat $file
22171ec346SSteven Rostedt (VMware)		exit 1
23171ec346SSteven Rostedt (VMware)	fi
24171ec346SSteven Rostedt (VMware)}
25171ec346SSteven Rostedt (VMware)
26171ec346SSteven Rostedt (VMware)file_contains() {
27171ec346SSteven Rostedt (VMware)	file=$1
28171ec346SSteven Rostedt (VMware)	val="$2"
29171ec346SSteven Rostedt (VMware)
30171ec346SSteven Rostedt (VMware)	if ! grep -q "$val" $file ; then
31171ec346SSteven Rostedt (VMware)		echo "FAILED: $file does not contain $val"
32171ec346SSteven Rostedt (VMware)		cat $file
33171ec346SSteven Rostedt (VMware)		exit 1
34171ec346SSteven Rostedt (VMware)	fi
35171ec346SSteven Rostedt (VMware)}
36171ec346SSteven Rostedt (VMware)
37171ec346SSteven Rostedt (VMware)compare_mask() {
38171ec346SSteven Rostedt (VMware)	file=$1
39171ec346SSteven Rostedt (VMware)	val="$2"
40171ec346SSteven Rostedt (VMware)
41171ec346SSteven Rostedt (VMware)	content=`cat $file | sed -ne "/^[0 ]*$val/p"`
42171ec346SSteven Rostedt (VMware)	if [ -z "$content" ]; then
43171ec346SSteven Rostedt (VMware)		echo "FAILED: $file does not have mask '$val'"
44171ec346SSteven Rostedt (VMware)		cat $file
45171ec346SSteven Rostedt (VMware)		exit 1
46171ec346SSteven Rostedt (VMware)	fi
47171ec346SSteven Rostedt (VMware)}
48171ec346SSteven Rostedt (VMware)
49171ec346SSteven Rostedt (VMware)compare_file "events/task/task_newtask/filter" "pid < 128"
50171ec346SSteven Rostedt (VMware)compare_file "events/task/task_newtask/enable" "1"
51171ec346SSteven Rostedt (VMware)
52171ec346SSteven Rostedt (VMware)compare_file "events/kprobes/vfs_read/filter" "common_pid < 200"
53171ec346SSteven Rostedt (VMware)compare_file "events/kprobes/vfs_read/enable" "1"
54171ec346SSteven Rostedt (VMware)
55171ec346SSteven Rostedt (VMware)compare_file_partial "events/synthetic/initcall_latency/trigger" "hist:keys=func.sym,lat:vals=hitcount,lat:sort=lat"
56171ec346SSteven Rostedt (VMware)compare_file_partial "events/synthetic/initcall_latency/enable" "0"
57171ec346SSteven Rostedt (VMware)
58171ec346SSteven Rostedt (VMware)compare_file_partial "events/initcall/initcall_start/trigger" "hist:keys=func:vals=hitcount:ts0=common_timestamp.usecs"
59171ec346SSteven Rostedt (VMware)compare_file_partial "events/initcall/initcall_start/enable" "1"
60171ec346SSteven Rostedt (VMware)
61*54b3498dSMasami Hiramatsucompare_file_partial "events/initcall/initcall_finish/trigger" 'hist:keys=func:vals=hitcount:lat=common_timestamp.usecs-\$ts0:sort=hitcount:size=2048:clock=global:onmatch(initcall.initcall_start).trace(initcall_latency,func,\$lat)'
62171ec346SSteven Rostedt (VMware)compare_file_partial "events/initcall/initcall_finish/enable" "1"
63171ec346SSteven Rostedt (VMware)
64171ec346SSteven Rostedt (VMware)compare_file "instances/foo/current_tracer" "function"
65171ec346SSteven Rostedt (VMware)file_contains "instances/foo/set_ftrace_filter" "^user"
66171ec346SSteven Rostedt (VMware)compare_file "instances/foo/buffer_size_kb" "512"
67171ec346SSteven Rostedt (VMware)compare_mask "instances/foo/tracing_cpumask" "1"
68171ec346SSteven Rostedt (VMware)compare_file "instances/foo/options/sym-addr" "0"
69171ec346SSteven Rostedt (VMware)file_contains "instances/foo/trace_clock" '\[mono\]'
70171ec346SSteven Rostedt (VMware)compare_file_partial "instances/foo/events/signal/signal_deliver/trigger" "snapshot"
71171ec346SSteven Rostedt (VMware)
72171ec346SSteven Rostedt (VMware)compare_file "instances/bar/current_tracer" "function"
73171ec346SSteven Rostedt (VMware)file_contains "instances/bar/set_ftrace_filter" "^kernel"
74171ec346SSteven Rostedt (VMware)compare_mask "instances/bar/tracing_cpumask" "2"
75171ec346SSteven Rostedt (VMware)file_contains "instances/bar/trace_clock" '\[x86-tsc\]'
76171ec346SSteven Rostedt (VMware)
77171ec346SSteven Rostedt (VMware)file_contains "snapshot" "Snapshot is allocated"
78171ec346SSteven Rostedt (VMware)compare_file "options/sym-addr" "1"
79171ec346SSteven Rostedt (VMware)compare_file "events/initcall/enable" "1"
80171ec346SSteven Rostedt (VMware)compare_file "buffer_size_kb" "1027"
81171ec346SSteven Rostedt (VMware)compare_file "current_tracer" "function"
82171ec346SSteven Rostedt (VMware)file_contains "set_ftrace_filter" '^vfs'
83171ec346SSteven Rostedt (VMware)
84171ec346SSteven Rostedt (VMware)exit 0
85