mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

Super simple test to check that at least we're not segfaulting when trying to use 'perf report --hierarchy', more subtests should be added to make sure the output is the expected one. This is being merged right before a fix for that that this test detects: # perf test hierarchy 83: perf report --hierarchy : FAILED! # perf test -v hierarchy --- start --- test child forked, pid 102242 perf report --hierarchy Linux [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.025 MB /tmp/perf-test-report.HX0N85TlPq/perf-report-hierarchy-perf.data (6 samples) ] perf: ui/hist.c:603: fmt_free: Assertion `!(!list_empty(&fmt->sort_list))' failed. /home/acme/libexec/perf-core/tests/shell/perf-report-hierarchy.sh: line 34: 102250 Aborted (core dumped) perf report --hierarchy > /dev/null --- Cleaning up --- ---- end(-1) ---- 83: perf report --hierarchy : FAILED! # Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: James Clark <james.clark@linaro.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Link: https://lore.kernel.org/lkml/20250430180321.736939-1-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
44 lines
761 B
Bash
Executable File
44 lines
761 B
Bash
Executable File
#!/bin/sh
|
|
# perf report --hierarchy
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
|
|
set -e
|
|
|
|
temp_dir=$(mktemp -d /tmp/perf-test-report.XXXXXXXXXX)
|
|
|
|
cleanup()
|
|
{
|
|
trap - EXIT TERM INT
|
|
sane=$(echo "${temp_dir}" | cut -b 1-21)
|
|
if [ "${sane}" = "/tmp/perf-test-report" ] ; then
|
|
echo "--- Cleaning up ---"
|
|
rm -rf "${temp_dir:?}/"*
|
|
rmdir "${temp_dir}"
|
|
fi
|
|
}
|
|
|
|
trap_cleanup()
|
|
{
|
|
cleanup
|
|
exit 1
|
|
}
|
|
|
|
trap trap_cleanup EXIT TERM INT
|
|
|
|
test_report_hierarchy()
|
|
{
|
|
echo "perf report --hierarchy"
|
|
|
|
perf_data="${temp_dir}/perf-report-hierarchy-perf.data"
|
|
perf record -o "${perf_data}" uname
|
|
perf report --hierarchy -i "${perf_data}" > /dev/null
|
|
echo "perf report --hierarchy test [Success]"
|
|
}
|
|
|
|
test_report_hierarchy
|
|
|
|
cleanup
|
|
|
|
exit 0
|