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