#!/bin/sh # perf sched stats tests # SPDX-License-Identifier: GPL-2.0 set -e if [ "$(id -u)" != 0 ]; then echo "[Skip] No root permission" exit 2 fi perfdata=$(mktemp /tmp/__perf_test_sched_stats.perf.data.XXXXX) perfdata2=$(mktemp /tmp/__perf_test_sched_stats.perf.data.XXXXX) cleanup() { rm -f "${perfdata}" rm -f "${perfdata}".old rm -f "${perfdata2}" rm -f "${perfdata2}".old trap - EXIT TERM INT } trap_cleanup() { echo "Unexpected signal in ${FUNCNAME[1]}" cleanup exit 1 } trap trap_cleanup EXIT TERM INT err=0 test_perf_sched_stats_record() { echo "Basic perf sched stats record test" if ! perf sched stats record -o "${perfdata}" true 2>&1 | \ grep -E -q "[ perf sched stats: Wrote samples to perf.data ]" then echo "Basic perf sched stats record test [Failed]" err=1 return fi echo "Basic perf sched stats record test [Success]" } test_perf_sched_stats_report() { echo "Basic perf sched stats report test" perf sched stats record -o "${perfdata}" true > /dev/null if ! perf sched stats report -i "${perfdata}" 2>&1 | grep -E -q "Description" then echo "Basic perf sched stats report test [Failed]" err=1 return fi echo "Basic perf sched stats report test [Success]" } test_perf_sched_stats_live() { echo "Basic perf sched stats live mode test" if ! perf sched stats true 2>&1 | grep -E -q "Description" then echo "Basic perf sched stats live mode test [Failed]" err=1 return fi echo "Basic perf sched stats live mode test [Success]" } test_perf_sched_stats_diff() { echo "Basic perf sched stats diff test" perf sched stats record -o "${perfdata}" true > /dev/null perf sched stats record -o "${perfdata2}" true > /dev/null if ! perf sched stats diff "${perfdata}" "${perfdata2}" > /dev/null then echo "Basic perf sched stats diff test [Failed]" err=1 return fi echo "Basic perf sched stats diff test [Success]" } test_perf_sched_stats_record test_perf_sched_stats_report test_perf_sched_stats_live test_perf_sched_stats_diff cleanup exit $err