162306a36Sopenharmony_ci#!/bin/sh
262306a36Sopenharmony_ci
362306a36Sopenharmony_cicd /sys/kernel/tracing
462306a36Sopenharmony_ci
562306a36Sopenharmony_cicompare_file() {
662306a36Sopenharmony_ci	file="$1"
762306a36Sopenharmony_ci	val="$2"
862306a36Sopenharmony_ci	content=`cat $file`
962306a36Sopenharmony_ci	if [ "$content" != "$val" ]; then
1062306a36Sopenharmony_ci		echo "FAILED: $file has '$content', expected '$val'"
1162306a36Sopenharmony_ci		exit 1
1262306a36Sopenharmony_ci	fi
1362306a36Sopenharmony_ci}
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cicompare_file_partial() {
1662306a36Sopenharmony_ci	file="$1"
1762306a36Sopenharmony_ci	val="$2"
1862306a36Sopenharmony_ci	content=`cat $file | sed -ne "/^$val/p"`
1962306a36Sopenharmony_ci	if [ -z "$content" ]; then
2062306a36Sopenharmony_ci		echo "FAILED: $file does not contain '$val'"
2162306a36Sopenharmony_ci		cat $file
2262306a36Sopenharmony_ci		exit 1
2362306a36Sopenharmony_ci	fi
2462306a36Sopenharmony_ci}
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cifile_contains() {
2762306a36Sopenharmony_ci	file=$1
2862306a36Sopenharmony_ci	val="$2"
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	if ! grep -q "$val" $file ; then
3162306a36Sopenharmony_ci		echo "FAILED: $file does not contain $val"
3262306a36Sopenharmony_ci		cat $file
3362306a36Sopenharmony_ci		exit 1
3462306a36Sopenharmony_ci	fi
3562306a36Sopenharmony_ci}
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_cicompare_mask() {
3862306a36Sopenharmony_ci	file=$1
3962306a36Sopenharmony_ci	val="$2"
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci	content=`cat $file | sed -ne "/^[0 ]*$val/p"`
4262306a36Sopenharmony_ci	if [ -z "$content" ]; then
4362306a36Sopenharmony_ci		echo "FAILED: $file does not have mask '$val'"
4462306a36Sopenharmony_ci		cat $file
4562306a36Sopenharmony_ci		exit 1
4662306a36Sopenharmony_ci	fi
4762306a36Sopenharmony_ci}
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_cicompare_file "events/task/task_newtask/filter" "pid < 128"
5062306a36Sopenharmony_cicompare_file "events/task/task_newtask/enable" "1"
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_cicompare_file "events/kprobes/vfs_read/filter" "common_pid < 200"
5362306a36Sopenharmony_cicompare_file "events/kprobes/vfs_read/enable" "1"
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_cicompare_file_partial "events/synthetic/initcall_latency/trigger" "hist:keys=func.sym,lat:vals=hitcount,lat:sort=lat"
5662306a36Sopenharmony_cicompare_file_partial "events/synthetic/initcall_latency/enable" "0"
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_cicompare_file_partial "events/initcall/initcall_start/trigger" "hist:keys=func:vals=hitcount:ts0=common_timestamp.usecs"
5962306a36Sopenharmony_cicompare_file_partial "events/initcall/initcall_start/enable" "1"
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_cicompare_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)'
6262306a36Sopenharmony_cicompare_file_partial "events/initcall/initcall_finish/enable" "1"
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_cicompare_file "instances/foo/current_tracer" "function"
6562306a36Sopenharmony_cifile_contains "instances/foo/set_ftrace_filter" "^user"
6662306a36Sopenharmony_cicompare_file "instances/foo/buffer_size_kb" "512"
6762306a36Sopenharmony_cicompare_mask "instances/foo/tracing_cpumask" "1"
6862306a36Sopenharmony_cicompare_file "instances/foo/options/sym-addr" "0"
6962306a36Sopenharmony_cifile_contains "instances/foo/trace_clock" '\[mono\]'
7062306a36Sopenharmony_cicompare_file_partial "instances/foo/events/signal/signal_deliver/trigger" "snapshot"
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_cicompare_file "instances/bar/current_tracer" "function"
7362306a36Sopenharmony_cifile_contains "instances/bar/set_ftrace_filter" "^kernel"
7462306a36Sopenharmony_cicompare_mask "instances/bar/tracing_cpumask" "2"
7562306a36Sopenharmony_cifile_contains "instances/bar/trace_clock" '\[x86-tsc\]'
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_cifile_contains "snapshot" "Snapshot is allocated"
7862306a36Sopenharmony_cicompare_file "options/sym-addr" "1"
7962306a36Sopenharmony_cicompare_file "events/initcall/enable" "1"
8062306a36Sopenharmony_cicompare_file "buffer_size_kb" "1027"
8162306a36Sopenharmony_cicompare_file "current_tracer" "function"
8262306a36Sopenharmony_cifile_contains "set_ftrace_filter" '^vfs'
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ciexit 0
85