Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
75 lines
1.3 KiB
Bash
Executable File
75 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# perf header tests
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
set -e
|
|
|
|
err=0
|
|
perfdata=$(mktemp /tmp/__perf_test_header.perf.data.XXXXX)
|
|
script_output=$(mktemp /tmp/__perf_test_header.perf.data.XXXXX.script)
|
|
|
|
cleanup() {
|
|
rm -f "${perfdata}"
|
|
rm -f "${perfdata}".old
|
|
rm -f "${script_output}"
|
|
|
|
trap - EXIT TERM INT
|
|
}
|
|
|
|
trap_cleanup() {
|
|
echo "Unexpected signal in ${FUNCNAME[1]}"
|
|
cleanup
|
|
exit 1
|
|
}
|
|
trap trap_cleanup EXIT TERM INT
|
|
|
|
check_header_output() {
|
|
declare -a fields=(
|
|
"captured"
|
|
"hostname"
|
|
"os release"
|
|
"arch"
|
|
"cpuid"
|
|
"nrcpus"
|
|
"event"
|
|
"cmdline"
|
|
"perf version"
|
|
"sibling (cores|dies|threads)"
|
|
"sibling threads"
|
|
"total memory"
|
|
)
|
|
for i in "${fields[@]}"
|
|
do
|
|
if ! grep -q -E "$i" "${script_output}"
|
|
then
|
|
echo "Failed to find expected $i in output"
|
|
err=1
|
|
fi
|
|
done
|
|
}
|
|
|
|
test_file() {
|
|
echo "Test perf header file"
|
|
|
|
perf record -o "${perfdata}" -- perf test -w noploop
|
|
perf report --header-only -I -i "${perfdata}" > "${script_output}"
|
|
check_header_output
|
|
|
|
echo "Test perf header file [Done]"
|
|
}
|
|
|
|
test_pipe() {
|
|
echo "Test perf header pipe"
|
|
|
|
perf record -o - -- perf test -w noploop | perf report --header-only -I -i - > "${script_output}"
|
|
check_header_output
|
|
|
|
echo "Test perf header pipe [Done]"
|
|
}
|
|
|
|
test_file
|
|
test_pipe
|
|
|
|
cleanup
|
|
exit $err
|