| #!/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 |