mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 04:25:27 +08:00
5a6bef47b4
Adding automated test for breakpoint event signal handler checking if it's executed properly. The test is related to the proper handling of the RF EFLAGS bit on x86_64, but it's generic for all archs. First we check the signal handler is properly called and that the following debug exception return to user space wouldn't trigger recursive breakpoint. This is related to x86_64 RF EFLAGS bit being managed in a wrong way. Second we check that we can set breakpoint in signal handler, which is not possible on x86_64 if the signal handler is executed with RF EFLAG set. This test is inpired by overflow tests done by Vince Weaver. Signed-off-by: Jiri Olsa <jolsa@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vince Weaver <vincent.weaver@maine.edu> Link: http://lkml.kernel.org/r/1362940871-24486-6-git-send-email-jolsa@redhat.com [ committer note: s/pr_err/pr_debug/g i.e. print just OK or FAILED in non verbose mode ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
29 lines
649 B
C
29 lines
649 B
C
#ifndef TESTS_H
|
|
#define TESTS_H
|
|
|
|
enum {
|
|
TEST_OK = 0,
|
|
TEST_FAIL = -1,
|
|
TEST_SKIP = -2,
|
|
};
|
|
|
|
/* Tests */
|
|
int test__vmlinux_matches_kallsyms(void);
|
|
int test__open_syscall_event(void);
|
|
int test__open_syscall_event_on_all_cpus(void);
|
|
int test__basic_mmap(void);
|
|
int test__PERF_RECORD(void);
|
|
int test__rdpmc(void);
|
|
int test__perf_evsel__roundtrip_name_test(void);
|
|
int test__perf_evsel__tp_sched_test(void);
|
|
int test__syscall_open_tp_fields(void);
|
|
int test__pmu(void);
|
|
int test__attr(void);
|
|
int test__dso_data(void);
|
|
int test__parse_events(void);
|
|
int test__hists_link(void);
|
|
int test__python_use(void);
|
|
int test__bp_signal(void);
|
|
|
|
#endif /* TESTS_H */
|