summaryrefslogtreecommitdiffstats
path: root/tools/tracing/rtla/tests/timerlat.t
blob: e939ff71d6be3299d7e69ee9b497eb92be77ba17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
source tests/engine.sh
test_begin

set_timeout 2m
timerlat_sample_event='/sys/kernel/tracing/events/osnoise/timerlat_sample'

if ldd $RTLA | grep libbpf >/dev/null && [ -d "$timerlat_sample_event" ]
then
	# rtla build with BPF and system supports BPF mode
	no_bpf_options='0 1'
else
	no_bpf_options='1'
fi

# Do every test with and without BPF
for option in $no_bpf_options
do
export RTLA_NO_BPF=$option
check "verify help page" \
	"timerlat --help"
check "verify -s/--stack" \
	"timerlat top -s 3 -T 10 -t"
check "verify -P/--priority" \
	"timerlat top -P F:1 -c 0 -d 1M -q"
check "test in nanoseconds" \
	"timerlat top -i 2 -c 0 -n -d 30s"
check "set the automatic trace mode" \
	"timerlat top -a 5 --dump-tasks"
check "print the auto-analysis if hits the stop tracing condition" \
	"timerlat top --aa-only 5"
check "disable auto-analysis" \
	"timerlat top -s 3 -T 10 -t --no-aa"
check "verify -c/--cpus" \
	"timerlat hist -c 0 -d 30s"
check "hist test in nanoseconds" \
	"timerlat hist -i 2 -c 0 -n -d 30s"
done

test_end