projects/linux·blob master · refs

79 lines · 1.5 KiB

1#!/bin/bash
2# perf kwork tests
3# SPDX-License-Identifier: GPL-2.0
4
5set -e
6
7# Root permissions required for tracing events.
8if [ "$(id -u)" != 0 ]; then
9 echo "[Skip] No root permission"
10 exit 2
11fi
12
13err=0
14perfdata=$(mktemp /tmp/__perf_test_kwork.perf.data.XXXXX)
15
16cleanup() {
17 rm -f "${perfdata}"
18 rm -f "${perfdata}".old
19
20 trap - EXIT TERM INT
21}
22
23trap_cleanup() {
24 echo "Unexpected signal in ${FUNCNAME[1]}"
25 cleanup
26 exit 1
27}
28trap trap_cleanup EXIT TERM INT
29
30test_kwork_record() {
31 echo "Kwork record"
32 perf kwork record -o "${perfdata}" -- sleep 1
33 echo "Kwork record [Success]"
34}
35
36test_kwork_report() {
37 echo "Kwork report"
38 if ! perf kwork report -i "${perfdata}" | grep -q "Kwork Name"; then
39 echo "Kwork report [Failed missing output]"
40 err=1
41 fi
42 echo "Kwork report [Success]"
43}
44
45test_kwork_latency() {
46 echo "Kwork latency"
47 if ! perf kwork latency -i "${perfdata}" | grep -q "Avg delay"; then
48 echo "Kwork latency [Failed missing output]"
49 err=1
50 fi
51 echo "Kwork latency [Success]"
52}
53
54test_kwork_timehist() {
55 echo "Kwork timehist"
56 if ! perf kwork timehist -i "${perfdata}" | grep -q "Kwork name"; then
57 echo "Kwork timehist [Failed missing output]"
58 err=1
59 fi
60 echo "Kwork timehist [Success]"
61}
62
63test_kwork_top() {
64 echo "Kwork top"
65 if ! perf kwork top -i "${perfdata}" | grep -q "COMMAND"; then
66 echo "Kwork top [Failed missing output]"
67 err=1
68 fi
69 echo "Kwork top [Success]"
70}
71
72test_kwork_record
73test_kwork_report
74test_kwork_latency
75test_kwork_timehist
76test_kwork_top
77
78cleanup
79exit $err