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_ci 5062306a36Sopenharmony_cicompare_file "tracing_on" "0" 5162306a36Sopenharmony_cicompare_file "current_tracer" "function_graph" 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_cicompare_file_partial "events/kprobes/start_event/enable" "1" 5462306a36Sopenharmony_cicompare_file_partial "events/kprobes/start_event/trigger" "traceon" 5562306a36Sopenharmony_cifile_contains "kprobe_events" 'start_event.*pci_proc_init' 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_cicompare_file_partial "events/kprobes/end_event/enable" "1" 5862306a36Sopenharmony_cicompare_file_partial "events/kprobes/end_event/trigger" "traceoff" 5962306a36Sopenharmony_cifile_contains "kprobe_events" '^r.*end_event.*pci_proc_init' 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciexit 0 62