xref: /linux/tools/testing/selftests/ftrace/test.d/event/subsystem-enable.tc (revision 8e1bb4a41aa78d6105e59186af3dcd545fc66e70)
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3# description: event tracing - enable/disable with subsystem level files
4# requires: set_event events/sched/enable
5# flags: instance
6
7do_reset() {
8    echo > set_event
9    clear_trace
10}
11
12fail() { #msg
13    echo $1
14    exit_fail
15}
16
17echo 'sched:*' > set_event
18
19yield
20
21count=`head -n 100 trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l`
22if [ $count -lt 3 ]; then
23    fail "at least fork, exec and exit events should be recorded"
24fi
25
26do_reset
27
28echo 1 > events/sched/enable
29
30yield
31
32count=`head -n 100 trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l`
33if [ $count -lt 3 ]; then
34    fail "at least fork, exec and exit events should be recorded"
35fi
36
37do_reset
38
39echo 0 > events/sched/enable
40
41yield
42
43count=`head -n 100 trace | grep -v ^# | awk '{ print $5 }' | sort -u | wc -l`
44if [ $count -ne 0 ]; then
45    fail "any of scheduler events should not be recorded"
46fi
47
48exit 0
49