162306a36Sopenharmony_ci#!/bin/sh 262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 362306a36Sopenharmony_ci# description: event trigger - test multiple histogram triggers 462306a36Sopenharmony_ci# requires: set_event events/sched/sched_process_fork/trigger events/sched/sched_process_fork/hist 562306a36Sopenharmony_ci# flags: instance 662306a36Sopenharmony_ci 762306a36Sopenharmony_cifail() { #msg 862306a36Sopenharmony_ci echo $1 962306a36Sopenharmony_ci exit_fail 1062306a36Sopenharmony_ci} 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciecho "Test histogram multiple triggers" 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciecho 'hist:keys=parent_pid:vals=child_pid' > events/sched/sched_process_fork/trigger 1562306a36Sopenharmony_ciecho 'hist:keys=parent_comm:vals=child_pid' >> events/sched/sched_process_fork/trigger 1662306a36Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 1762306a36Sopenharmony_cigrep parent_pid events/sched/sched_process_fork/hist > /dev/null || \ 1862306a36Sopenharmony_ci fail "hist trigger on sched_process_fork did not work" 1962306a36Sopenharmony_cigrep child events/sched/sched_process_fork/hist > /dev/null || \ 2062306a36Sopenharmony_ci fail "hist trigger on sched_process_fork did not work" 2162306a36Sopenharmony_ciCOMM=`cat /proc/$$/comm` 2262306a36Sopenharmony_cigrep "parent_comm: $COMM" events/sched/sched_process_fork/hist > /dev/null || \ 2362306a36Sopenharmony_ci fail "string key on sched_process_fork did not work" 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_cireset_trigger 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciecho "Test histogram with its name" 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciecho 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_fork/trigger 3062306a36Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 3162306a36Sopenharmony_cigrep test_hist events/sched/sched_process_fork/hist > /dev/null || \ 3262306a36Sopenharmony_ci fail "named event on sched_process_fork did not work" 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciecho "Test same named histogram on different events" 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciecho 'hist:name=test_hist:keys=common_pid' > events/sched/sched_process_exit/trigger 3762306a36Sopenharmony_cifor i in `seq 1 10` ; do ( echo "forked" > /dev/null); done 3862306a36Sopenharmony_cigrep test_hist events/sched/sched_process_exit/hist > /dev/null || \ 3962306a36Sopenharmony_ci fail "named event on sched_process_fork did not work" 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_cidiffs=`diff events/sched/sched_process_exit/hist events/sched/sched_process_fork/hist | wc -l` 4262306a36Sopenharmony_citest $diffs -eq 0 || fail "Same name histograms are not same" 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ciexit 0 45