linux/tools/perf/tests
Veronika Molnarova 06a130e42a perf test: Handle perftool-testsuite_probe failure due to broken DWARF
Test case test_adding_blacklisted ends in failure if the blacklisted
probe is of an assembler function with no DWARF available. At the same
time, probing the blacklisted function with ASM DWARF doesn't test the
blacklist itself as the failure is a result of the broken DWARF.

When the broken DWARF output is encountered, check if the probed
function was compiled by the assembler. If so, the broken DWARF message
is expected and does not report a perf issue, else report a failure.  If
the ASM DWARF affected the probe, try the next probe on the blacklist.
If the first 5 probes are defective due to broken DWARF, skip the test
case.

Fixes: def5480d63 ("perf testsuite probe: Add test for blacklisted kprobes handling")
Signed-off-by: Veronika Molnarova <vmolnaro@redhat.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Veronika Molnarova <vmolnaro@redhat.com>
Link: https://lore.kernel.org/r/20241017161555.236769-1-vmolnaro@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2024-10-23 17:23:09 -03:00
..
attr perf test: test case 'Setup struct perf_event_attr' fails on s390 on z/vm 2024-01-04 18:44:53 -03:00
config-fragments perf tools: Enable configs required for test_uprobe_from_different_cu.sh 2024-04-17 12:21:39 -03:00
shell perf test: Handle perftool-testsuite_probe failure due to broken DWARF 2024-10-23 17:23:09 -03:00
workloads perf test: Add landlock workload 2024-07-31 16:12:46 -03:00
api-io.c perf tests api-io: Use zfree() to reduce chances of use after free 2023-04-12 10:14:58 -03:00
attr.c perf tests attr: Fix spelling mistake "whic" to "which" 2023-11-09 13:49:33 -03:00
attr.py perf test attr: Fix python SafeConfigParser() deprecation warning 2023-05-19 10:36:35 -03:00
backward-ring-buffer.c
bitmap.c perf cpumap: Use perf_cpu_map__for_each_cpu when possible 2024-03-21 10:41:28 -03:00
bp_account.c perf parse-events: Add default_breakpoint_len helper 2024-09-04 09:49:09 -03:00
bp_signal_overflow.c perf parse-events: Add default_breakpoint_len helper 2024-09-04 09:49:09 -03:00
bp_signal.c perf parse-events: Add default_breakpoint_len helper 2024-09-04 09:49:09 -03:00
Build perf test: Make tests its own library 2024-06-26 11:07:11 -07:00
builtin-test.c perf test: Add landlock workload 2024-07-31 16:12:46 -03:00
code-reading.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
cpumap.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
demangle-java-test.c
demangle-ocaml-test.c
dlfilter-test.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
dso-data.c perf dso: Use container_of() to avoid a pointer in 'struct dso_data' 2024-05-06 16:08:31 -03:00
dwarf-unwind.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
event_groups.c perf pmu: Separate pmu and pmus 2023-05-27 09:41:39 -03:00
event_update.c perf test event_update: Ensure tools is initialized 2024-08-12 18:13:20 -03:00
event-times.c perf tools: Do not pass NULL to parse_events() 2022-08-10 14:30:09 -03:00
evsel-roundtrip-name.c perf evsel: Use evsel__name_is() helper 2024-04-03 11:48:56 -03:00
evsel-tp-sched.c
expand-cgroup.c perf parse-events: Print all errors 2024-02-02 13:08:05 -08:00
expr.c perf pmu: Move pmu__find_core_pmu() to pmus.c 2023-09-15 16:46:40 -07:00
fdarray.c
genelf.c
hists_common.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
hists_common.h
hists_cumulate.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
hists_filter.c perf addr_location: Add init/exit/copy functions 2023-06-12 15:57:53 -03:00
hists_link.c libperf rc_check: Add RC_CHK_EQUAL 2023-10-25 13:37:22 -07:00
hists_output.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
is_printable_array.c
keep-tracking.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
kmod-path.c
make perf report: Support LLVM for addr2line() 2024-09-03 10:15:16 -03:00
maps.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
mem2node.c perf tools: Use dedicated non-atomic clear/set bit helpers 2022-12-05 09:29:06 -03:00
mem.c perf mem-info: Add reference count checking 2024-05-07 18:06:44 -03:00
mmap-basic.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
mmap-thread-lookup.c perf machine: Make delete_threads part of machine__exit 2023-06-12 15:57:53 -03:00
openat-syscall-all-cpus.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
openat-syscall-tp-fields.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
openat-syscall.c perf thread_map: Reduce exposure of libperf internal API 2022-11-16 12:17:15 -03:00
parse-events.c perf pmus: Fake PMU clean up 2024-09-11 11:27:42 -03:00
parse-metric.c perf pmus: Remove perf_pmus__has_hybrid 2023-05-27 09:42:38 -03:00
parse-no-sample-id-all.c perf tools: Move 'struct perf_sample' to a separate header file to disentangle headers 2022-10-31 11:06:41 -03:00
pe-file-parsing.c perf test: Fix a compile error on pe-file-parsing.c 2023-06-27 12:14:38 -07:00
pe-file.c
pe-file.exe
pe-file.exe.debug
perf-hooks.c
perf-record.c perf tests: Add missing event.h include 2022-10-31 11:07:08 -03:00
perf-targz-src-pkg perf thread: Add accessor functions for thread 2023-06-12 15:57:53 -03:00
perf-time-to-tsc.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
pfm.c perf evlist: Remove nr_groups 2023-03-13 17:42:27 -03:00
pmu-events.c perf pmus: Fake PMU clean up 2024-09-11 11:27:42 -03:00
pmu.c perf tests pmu: Initialize all fields of test_pmu variable 2024-08-12 13:42:56 -03:00
python-use.c perf test python: Put perf python at start of sys.path 2023-05-27 09:35:14 -03:00
sample-parsing.c perf script: Show branch speculation info 2023-02-02 17:18:31 -03:00
sdt.c
sigtrap.c perf tests sigtrap: Skip if running on a kernel with sleepable spinlocks 2023-11-29 17:49:24 -03:00
stat.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
sw-clock.c libperf cpumap: Rename perf_cpu_map__dummy_new() to perf_cpu_map__new_any_cpu() 2023-12-12 14:01:47 -03:00
switch-tracking.c libperf cpumap: Replace usage of perf_cpu_map__new(NULL) with perf_cpu_map__new_online_cpus() 2023-12-12 14:55:13 -03:00
symbols.c perf dso: Add reference count checking and accessor functions 2024-05-06 15:28:49 -03:00
task-exit.c libperf cpumap: Rename perf_cpu_map__dummy_new() to perf_cpu_map__new_any_cpu() 2023-12-12 14:01:47 -03:00
tests-scripts.c perf tests shell: Skip base_* dirs in test script search 2024-08-28 18:07:20 -03:00
tests-scripts.h perf tests: Run time generate shell test suites 2024-02-22 09:13:06 -08:00
tests.h perf test: Add landlock workload 2024-07-31 16:12:46 -03:00
thread-map.c perf tool: Constify tool pointers 2024-08-12 18:05:14 -03:00
thread-maps-share.c perf maps: Hide maps internals 2024-02-12 12:35:41 -08:00
time-utils-test.c
topology.c perf cpumap: Use perf_cpu_map__for_each_cpu when possible 2024-03-21 10:41:28 -03:00
unit_number__scnprintf.c
util.c perf util: Add a function for replacing characters in a string 2023-09-12 17:32:00 -03:00
vmlinux-kallsyms.c perf map: API clean up 2024-08-19 14:49:53 -03:00
wp.c perf test: Make watchpoint data 32-bits on i386 2024-09-03 11:26:53 -03:00