linux/tools/perf/tests/shell
Ian Rogers 86d1095fdb perf test: Fixes for check branch stack sampling
When filtering branch stack samples on user events they sample in user
land but may have come from the kernel. Aarch64 avoids leaking the
kernel address for kaslr reasons but other platforms, for now,
don't. Be more permissive in allowing kernel addresses in the source
of user branch stacks.

When filtering branch stack samples on kernel events they sample in
kernel land but may have come from user land. Avoid the target being a
user address but allow the source to be in user land. Aarch64 may not
leak the user land addresses (making them 0) but other platforms
do. As the kernel address sampling implies privelege, just allow this.

Increase the duration of the system call sampling test to make the
likelihood of sampling a system call higher (increased from 1000 to
8000 loops - a number found through experimentation on an Intel
Tigerlake laptop), also make the period of the event a prime number.

Put unneeded perf record output into a temporary file so that the test
output isn't cluttered. More clearly state which test is running and
the pass, fail or skipped result of the test.

These changes make the test on an Intel tigerlake laptop reliably pass
rather than reliably fail.

Signed-off-by: Ian Rogers <irogers@google.com>
Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2026-04-13 23:37:59 -07:00
..
attr perf test attr: Add missing int_mist.uop_dropping event to test-stat files 2025-09-19 12:41:50 -03:00
base_probe perf test perftool_testsuite: Use absolute paths 2025-10-01 09:44:05 -03:00
base_report perf test perftool_testsuite: Use absolute paths 2025-10-01 09:44:05 -03:00
common perf test perftool_testsuite: Use absolute paths 2025-10-01 09:44:05 -03:00
coresight perf test coresight: Dismiss clang warning for unroll loop thread 2025-10-06 16:49:25 -03:00
lib perf test: Be tolerant of missing json metric none value 2025-11-16 23:24:00 -08:00
addr2line_inlines.sh perf test addr2line_inlines: Ensure inline information shows on LBR leaves 2026-02-06 18:11:31 -03:00
amd-ibs-swfilt.sh perf test: AMD IBS swfilt skip kernel tests if paranoia is >1 2025-09-19 12:14:29 -03:00
annotate.sh perf test annotate: Use --percent-limit rather than head to reduce output 2025-06-30 09:12:55 -07:00
attr.sh perf test: Move attr files into shell directory where they are used 2024-10-17 13:17:36 -07:00
buildid.sh perf tests buildid: Add purge and remove testing 2025-12-03 11:07:46 -08:00
c2c.sh perf tests c2c: Add a basic c2c 2025-12-03 11:07:46 -08:00
daemon.sh perf test shell daemon: Make signal test less racy 2024-01-26 10:51:49 -03:00
data_type_profiling.sh perf test: Skip perf data type profiling tests for s390 2026-04-02 12:51:10 -07:00
diff.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
drm_pmu.sh perf tests: Add a DRM PMU test 2025-06-25 11:12:35 -07:00
evlist.sh perf test: Fix test perf evlist for z/VM s390x 2026-01-26 18:21:20 -03:00
ftrace.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
header.sh perf header: Fix pipe mode header dumping 2025-07-03 11:22:17 -07:00
inject-callchain.sh perf test: Add DWARF callchain conversion test 2026-01-20 17:18:24 -03:00
jitdump-python.sh perf test: Add python JIT dump test 2025-12-02 16:06:57 -08:00
kallsyms.sh perf tests kallsyms: Add basic kallsyms test 2025-12-03 11:07:47 -08:00
kvm.sh perf test kvm: Add stat live testing 2026-02-03 18:01:27 -03:00
kwork.sh perf tests kwork: Add basic kwork coverage tests 2026-04-02 19:44:45 -07:00
list.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
lock_contention.sh perf test: Fix lock contention test 2025-11-13 17:29:00 -03:00
perf_sched_stats.sh perf test: Skip sched stats test for !root 2026-04-05 23:27:51 -07:00
perf-report-hierarchy.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
perftool-testsuite_probe.sh perf test: Skip perf probe tests when running as non-root 2025-03-05 09:17:01 -08:00
perftool-testsuite_report.sh perf test: Tag parallel failing shell tests with "(exclusive)" 2024-10-28 09:32:58 -07:00
pipe_test.sh perf test: Fix perf test case 84 on s390 2024-10-19 09:39:54 -07:00
probe_vfs_getname.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
python-use.sh perf test: Add an 'import perf' test shell script 2025-10-01 16:59:06 -03:00
record_bpf_filter.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
record_lbr.sh perf test shell lbr: Avoid failures with perf event paranoia 2025-09-19 12:14:30 -03:00
record_offcpu.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
record_sideband.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
record_weak_term.sh perf test: Add test that command line period overrides sysfs/json values 2025-11-09 23:07:57 -08:00
record.sh perf test record.sh: Fix shellcheck warning 2026-02-08 11:29:58 -03:00
record+probe_libc_inet_pton.sh perf test: Fix inet_pton probe failure and unroll call graph 2026-04-13 23:28:14 -07:00
record+script_probe_vfs_getname.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
record+zstd_comp_decomp.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
sched.sh perf tests sched: Avoid error in cleanup on loaded machines 2026-01-23 16:58:39 -03:00
script_dlfilter.sh perf test: Use shelldir to refer perf source location 2026-01-13 17:21:39 -03:00
script_perl.sh perf test script: Add perl script testing support 2026-02-12 17:45:23 -03:00
script_python.sh perf test script: Add python script testing support 2026-02-12 17:45:23 -03:00
script.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
stat_all_metricgroups.sh perf test: Do not skip when some metric-group tests succeed 2026-01-13 17:21:56 -03:00
stat_all_metrics.sh perf test: Do not skip when some metrics tests succeeded 2026-01-13 17:21:41 -03:00
stat_all_pfm.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
stat_all_pmu.sh perf test stat_all_pmu.sh: Correctly check 'perf stat' result 2025-03-14 10:41:34 -07:00
stat_bpf_counters_cgrp.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
stat_bpf_counters.sh perf test: Fix perf stat --bpf-counters on hybrid machines 2026-04-01 14:50:53 -07:00
stat_metrics_values.sh perf test: Hybrid improvements for metric value validation test 2025-05-13 17:24:42 -03:00
stat.sh perf tests: Additional 'perf stat' tests 2026-02-06 11:55:21 -03:00
stat+csv_output.sh perf test stat csv: Update test expectations and events 2025-11-11 16:48:36 -08:00
stat+csv_summary.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
stat+event_uniquifying.sh perf test: Avoid uncore_imc/clockticks in uniquification test 2025-09-19 16:50:21 -03:00
stat+json_output.sh perf test stat+json: Improve metric-only testing 2025-11-11 16:48:35 -08:00
stat+shadow_stat.sh perf test stat: Update shadow test to use metrics 2025-11-11 16:48:35 -08:00
stat+std_output.sh perf test stat: Update std_output testing metric expectations 2025-11-11 16:48:35 -08:00
test_arm_callgraph_fp.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
test_arm_coresight_disasm.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
test_arm_coresight.sh perf cs-etm: Test sparse CPU maps 2026-01-20 17:41:36 -03:00
test_arm_spe_fork.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
test_arm_spe.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
test_bpf_metadata.sh perf test: Checking BPF metadata collection fails on version string 2025-09-04 16:37:19 -07:00
test_brstack.sh perf test: Fixes for check branch stack sampling 2026-04-13 23:37:59 -07:00
test_data_symbol.sh perf mem/c2c amd: Add ldlat support 2025-04-29 22:30:46 -03:00
test_event_open_fallback.sh perf test: Fix hybrid testing of event fallback test 2025-12-02 16:02:47 -08:00
test_intel_pt.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
test_java_symbol.sh perf test java symbol: Additional libperf-jvmti.so path check 2026-01-06 19:06:00 -03:00
test_perf_data_converter_ctf.sh perf test: perf data --to-ctf testing 2026-02-12 17:45:22 -03:00
test_perf_data_converter_json.sh perf test: Test pipe mode with data conversion --to-json 2026-02-12 17:45:22 -03:00
test_stat_intel_tpebs.sh perf test: Extra verbosity and hypervisor skip for tpebs test 2025-02-03 19:45:50 -08:00
test_task_analyzer.sh perf tests: Write test files to tmpdir 2026-04-01 14:50:53 -07:00
test_uprobe_from_different_cu.sh perf test: Skip perf probe tests when running as non-root 2025-03-05 09:17:01 -08:00
timechart.sh perf tests timechart: Add a perf timechart test 2025-12-03 11:07:47 -08:00
top.sh perf tests top: Make the test exclusive 2025-12-23 10:13:50 -08:00
trace_btf_enum.sh perf test trace_btf_enum: Skip if permissions are insufficient 2025-09-03 12:34:54 -03:00
trace_btf_general.sh perf test: Make perf trace BTF general tests exclusive 2026-04-08 21:42:25 -07:00
trace_exit_race.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
trace_record_replay.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
trace_summary.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00
trace+probe_vfs_getname.sh perf test: Change all remaining #!/bin/sh to #!/bin/bash 2025-06-26 10:31:05 -07:00