162306a36Sopenharmony_ci#!/bin/sh
262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
362306a36Sopenharmony_ci# description: event tracing - enable/disable with event level files
462306a36Sopenharmony_ci# requires: set_event events/sched
562306a36Sopenharmony_ci# flags: instance
662306a36Sopenharmony_ci
762306a36Sopenharmony_cido_reset() {
862306a36Sopenharmony_ci    echo > set_event
962306a36Sopenharmony_ci    clear_trace
1062306a36Sopenharmony_ci}
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cifail() { #msg
1362306a36Sopenharmony_ci    echo $1
1462306a36Sopenharmony_ci    exit_fail
1562306a36Sopenharmony_ci}
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciecho 'sched:sched_switch' > set_event
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciyield
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cicount=`cat trace | grep sched_switch | wc -l`
2262306a36Sopenharmony_ciif [ $count -eq 0 ]; then
2362306a36Sopenharmony_ci    fail "sched_switch events are not recorded"
2462306a36Sopenharmony_cifi
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cido_reset
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciecho 1 > events/sched/sched_switch/enable
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciyield
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_cicount=`cat trace | grep sched_switch | wc -l`
3362306a36Sopenharmony_ciif [ $count -eq 0 ]; then
3462306a36Sopenharmony_ci    fail "sched_switch events are not recorded"
3562306a36Sopenharmony_cifi
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_cido_reset
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciecho 0 > events/sched/sched_switch/enable
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciyield
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cicount=`cat trace | grep sched_switch | wc -l`
4462306a36Sopenharmony_ciif [ $count -ne 0 ]; then
4562306a36Sopenharmony_ci    fail "sched_switch events should not be recorded"
4662306a36Sopenharmony_cifi
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciexit 0
49