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 80