xref: /openbmc/linux/tools/testing/ktest/examples/bootconfigs/verify-functiongraph.sh (revision 762f99f4f3cb41a775b5157dd761217beba65873)
1*171ec346SSteven Rostedt (VMware)#!/bin/sh
2*171ec346SSteven Rostedt (VMware)
3*171ec346SSteven Rostedt (VMware)cd /sys/kernel/tracing
4*171ec346SSteven Rostedt (VMware)
5*171ec346SSteven Rostedt (VMware)compare_file() {
6*171ec346SSteven Rostedt (VMware)	file="$1"
7*171ec346SSteven Rostedt (VMware)	val="$2"
8*171ec346SSteven Rostedt (VMware)	content=`cat $file`
9*171ec346SSteven Rostedt (VMware)	if [ "$content" != "$val" ]; then
10*171ec346SSteven Rostedt (VMware)		echo "FAILED: $file has '$content', expected '$val'"
11*171ec346SSteven Rostedt (VMware)		exit 1
12*171ec346SSteven Rostedt (VMware)	fi
13*171ec346SSteven Rostedt (VMware)}
14*171ec346SSteven Rostedt (VMware)
15*171ec346SSteven Rostedt (VMware)compare_file_partial() {
16*171ec346SSteven Rostedt (VMware)	file="$1"
17*171ec346SSteven Rostedt (VMware)	val="$2"
18*171ec346SSteven Rostedt (VMware)	content=`cat $file | sed -ne "/^$val/p"`
19*171ec346SSteven Rostedt (VMware)	if [ -z "$content" ]; then
20*171ec346SSteven Rostedt (VMware)		echo "FAILED: $file does not contain '$val'"
21*171ec346SSteven Rostedt (VMware)		cat $file
22*171ec346SSteven Rostedt (VMware)		exit 1
23*171ec346SSteven Rostedt (VMware)	fi
24*171ec346SSteven Rostedt (VMware)}
25*171ec346SSteven Rostedt (VMware)
26*171ec346SSteven Rostedt (VMware)file_contains() {
27*171ec346SSteven Rostedt (VMware)	file=$1
28*171ec346SSteven Rostedt (VMware)	val="$2"
29*171ec346SSteven Rostedt (VMware)
30*171ec346SSteven Rostedt (VMware)	if ! grep -q "$val" $file ; then
31*171ec346SSteven Rostedt (VMware)		echo "FAILED: $file does not contain $val"
32*171ec346SSteven Rostedt (VMware)		cat $file
33*171ec346SSteven Rostedt (VMware)		exit 1
34*171ec346SSteven Rostedt (VMware)	fi
35*171ec346SSteven Rostedt (VMware)}
36*171ec346SSteven Rostedt (VMware)
37*171ec346SSteven Rostedt (VMware)compare_mask() {
38*171ec346SSteven Rostedt (VMware)	file=$1
39*171ec346SSteven Rostedt (VMware)	val="$2"
40*171ec346SSteven Rostedt (VMware)
41*171ec346SSteven Rostedt (VMware)	content=`cat $file | sed -ne "/^[0 ]*$val/p"`
42*171ec346SSteven Rostedt (VMware)	if [ -z "$content" ]; then
43*171ec346SSteven Rostedt (VMware)		echo "FAILED: $file does not have mask '$val'"
44*171ec346SSteven Rostedt (VMware)		cat $file
45*171ec346SSteven Rostedt (VMware)		exit 1
46*171ec346SSteven Rostedt (VMware)	fi
47*171ec346SSteven Rostedt (VMware)}
48*171ec346SSteven Rostedt (VMware)
49*171ec346SSteven Rostedt (VMware)
50*171ec346SSteven Rostedt (VMware)compare_file "tracing_on" "0"
51*171ec346SSteven Rostedt (VMware)compare_file "current_tracer" "function_graph"
52*171ec346SSteven Rostedt (VMware)
53*171ec346SSteven Rostedt (VMware)compare_file_partial "events/kprobes/start_event/enable" "1"
54*171ec346SSteven Rostedt (VMware)compare_file_partial "events/kprobes/start_event/trigger" "traceon"
55*171ec346SSteven Rostedt (VMware)file_contains "kprobe_events" 'start_event.*pci_proc_init'
56*171ec346SSteven Rostedt (VMware)
57*171ec346SSteven Rostedt (VMware)compare_file_partial "events/kprobes/end_event/enable" "1"
58*171ec346SSteven Rostedt (VMware)compare_file_partial "events/kprobes/end_event/trigger" "traceoff"
59*171ec346SSteven Rostedt (VMware)file_contains "kprobe_events" '^r.*end_event.*pci_proc_init'
60*171ec346SSteven Rostedt (VMware)
61*171ec346SSteven Rostedt (VMware)exit 0
62