mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-05 09:57:21 +02:00
aa0c2bb09b
Add basic kwork coverage tests for record, report, latency, timehist and top. Signed-off-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
80 lines
1.5 KiB
Bash
Executable File
80 lines
1.5 KiB
Bash
Executable File
#!/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
|