blob: 42bfd938281636e7162d874b23d244f65ce493ce [file] [edit]
#!/bin/bash
# perf kwork tests
# SPDX-License-Identifier: GPL-2.0
set -e
# Root permissions required for tracing events.
if [ "$(id -u)" != 0 ]; then
echo "[Skip] No root permission"
exit 2
fi
err=0
perfdata=$(mktemp /tmp/__perf_test_kwork.perf.data.XXXXX)
cleanup() {
rm -f "${perfdata}"
rm -f "${perfdata}".old
trap - EXIT TERM INT
}
trap_cleanup() {
echo "Unexpected signal in ${FUNCNAME[1]}"
cleanup
exit 1
}
trap trap_cleanup EXIT TERM INT
test_kwork_record() {
echo "Kwork record"
perf kwork record -o "${perfdata}" -- sleep 1
echo "Kwork record [Success]"
}
test_kwork_report() {
echo "Kwork report"
if ! perf kwork report -i "${perfdata}" | grep -q "Kwork Name"; then
echo "Kwork report [Failed missing output]"
err=1
fi
echo "Kwork report [Success]"
}
test_kwork_latency() {
echo "Kwork latency"
if ! perf kwork latency -i "${perfdata}" | grep -q "Avg delay"; then
echo "Kwork latency [Failed missing output]"
err=1
fi
echo "Kwork latency [Success]"
}
test_kwork_timehist() {
echo "Kwork timehist"
if ! perf kwork timehist -i "${perfdata}" | grep -q "Kwork name"; then
echo "Kwork timehist [Failed missing output]"
err=1
fi
echo "Kwork timehist [Success]"
}
test_kwork_top() {
echo "Kwork top"
if ! perf kwork top -i "${perfdata}" | grep -q "COMMAND"; then
echo "Kwork top [Failed missing output]"
err=1
fi
echo "Kwork top [Success]"
}
test_kwork_record
test_kwork_report
test_kwork_latency
test_kwork_timehist
test_kwork_top
cleanup
exit $err