Jiri Olsa | 0a4e1ae | 2012-11-10 01:46:41 +0100 | [diff] [blame] | 1 | #ifndef TESTS_H |
| 2 | #define TESTS_H |
| 3 | |
Wang Nan | e8c6d50 | 2015-11-17 08:32:48 +0000 | [diff] [blame] | 4 | #include <stdbool.h> |
| 5 | |
Jiri Olsa | 450ac18 | 2013-06-07 15:37:03 +0200 | [diff] [blame] | 6 | #define TEST_ASSERT_VAL(text, cond) \ |
| 7 | do { \ |
| 8 | if (!(cond)) { \ |
| 9 | pr_debug("FAILED %s:%d %s\n", __FILE__, __LINE__, text); \ |
| 10 | return -1; \ |
| 11 | } \ |
| 12 | } while (0) |
| 13 | |
Arnaldo Carvalho de Melo | 8f19601 | 2015-05-11 16:30:20 -0300 | [diff] [blame] | 14 | #define TEST_ASSERT_EQUAL(text, val, expected) \ |
| 15 | do { \ |
| 16 | if (val != expected) { \ |
| 17 | pr_debug("FAILED %s:%d %s (%d != %d)\n", \ |
| 18 | __FILE__, __LINE__, text, val, expected); \ |
| 19 | return -1; \ |
| 20 | } \ |
| 21 | } while (0) |
| 22 | |
Jiri Olsa | f4c1ea5 | 2012-12-19 11:33:39 -0300 | [diff] [blame] | 23 | enum { |
| 24 | TEST_OK = 0, |
| 25 | TEST_FAIL = -1, |
| 26 | TEST_SKIP = -2, |
| 27 | }; |
| 28 | |
Matt Fleming | 31b6753 | 2015-10-05 15:40:19 +0100 | [diff] [blame] | 29 | struct test { |
| 30 | const char *desc; |
Arnaldo Carvalho de Melo | 721a1f5 | 2015-11-19 12:01:48 -0300 | [diff] [blame] | 31 | int (*func)(int subtest); |
Wang Nan | e8c6d50 | 2015-11-17 08:32:48 +0000 | [diff] [blame] | 32 | struct { |
| 33 | bool skip_if_fail; |
| 34 | int (*get_nr)(void); |
| 35 | const char *(*get_desc)(int subtest); |
| 36 | } subtest; |
Matt Fleming | 31b6753 | 2015-10-05 15:40:19 +0100 | [diff] [blame] | 37 | }; |
| 38 | |
Jiri Olsa | d3b59a3 | 2012-11-10 01:46:42 +0100 | [diff] [blame] | 39 | /* Tests */ |
Arnaldo Carvalho de Melo | 721a1f5 | 2015-11-19 12:01:48 -0300 | [diff] [blame] | 40 | int test__vmlinux_matches_kallsyms(int subtest); |
| 41 | int test__openat_syscall_event(int subtest); |
| 42 | int test__openat_syscall_event_on_all_cpus(int subtest); |
| 43 | int test__basic_mmap(int subtest); |
| 44 | int test__PERF_RECORD(int subtest); |
| 45 | int test__perf_evsel__roundtrip_name_test(int subtest); |
| 46 | int test__perf_evsel__tp_sched_test(int subtest); |
| 47 | int test__syscall_openat_tp_fields(int subtest); |
| 48 | int test__pmu(int subtest); |
| 49 | int test__attr(int subtest); |
| 50 | int test__dso_data(int subtest); |
| 51 | int test__dso_data_cache(int subtest); |
| 52 | int test__dso_data_reopen(int subtest); |
| 53 | int test__parse_events(int subtest); |
| 54 | int test__hists_link(int subtest); |
| 55 | int test__python_use(int subtest); |
| 56 | int test__bp_signal(int subtest); |
| 57 | int test__bp_signal_overflow(int subtest); |
| 58 | int test__task_exit(int subtest); |
| 59 | int test__sw_clock_freq(int subtest); |
| 60 | int test__code_reading(int subtest); |
| 61 | int test__sample_parsing(int subtest); |
| 62 | int test__keep_tracking(int subtest); |
| 63 | int test__parse_no_sample_id_all(int subtest); |
| 64 | int test__dwarf_unwind(int subtest); |
| 65 | int test__hists_filter(int subtest); |
| 66 | int test__mmap_thread_lookup(int subtest); |
| 67 | int test__thread_mg_share(int subtest); |
| 68 | int test__hists_output(int subtest); |
| 69 | int test__hists_cumulate(int subtest); |
| 70 | int test__switch_tracking(int subtest); |
| 71 | int test__fdarray__filter(int subtest); |
| 72 | int test__fdarray__add(int subtest); |
| 73 | int test__kmod_path__parse(int subtest); |
| 74 | int test__thread_map(int subtest); |
| 75 | int test__llvm(int subtest); |
Wang Nan | e8c6d50 | 2015-11-17 08:32:48 +0000 | [diff] [blame] | 76 | const char *test__llvm_subtest_get_desc(int subtest); |
| 77 | int test__llvm_subtest_get_nr(void); |
Arnaldo Carvalho de Melo | 721a1f5 | 2015-11-19 12:01:48 -0300 | [diff] [blame] | 78 | int test__bpf(int subtest); |
Wang Nan | 77a0cf6 | 2015-11-17 08:32:49 +0000 | [diff] [blame] | 79 | const char *test__bpf_subtest_get_desc(int subtest); |
| 80 | int test__bpf_subtest_get_nr(void); |
Arnaldo Carvalho de Melo | 721a1f5 | 2015-11-19 12:01:48 -0300 | [diff] [blame] | 81 | int test_session_topology(int subtest); |
Jiri Olsa | 99471c9 | 2015-10-25 15:51:20 +0100 | [diff] [blame] | 82 | int test__thread_map_synthesize(int subtest); |
Jiri Olsa | 6c87290 | 2015-10-25 15:51:24 +0100 | [diff] [blame] | 83 | int test__cpu_map_synthesize(int subtest); |
Jiri Olsa | 6742434 | 2015-10-25 15:51:28 +0100 | [diff] [blame] | 84 | int test__synthesize_stat_config(int subtest); |
Jiri Olsa | 5796f8f | 2015-10-25 15:51:31 +0100 | [diff] [blame] | 85 | int test__synthesize_stat(int subtest); |
Jiri Olsa | d4c2259 | 2015-10-25 15:51:34 +0100 | [diff] [blame] | 86 | int test__synthesize_stat_round(int subtest); |
Jiri Olsa | a6e5281 | 2015-10-25 15:51:37 +0100 | [diff] [blame] | 87 | int test__event_update(int subtest); |
Jiri Olsa | b31d660 | 2016-03-24 13:52:20 +0100 | [diff] [blame] | 88 | int test__event_times(int subtest); |
Wang Nan | ee74701 | 2016-05-09 01:47:51 +0000 | [diff] [blame] | 89 | int test__backward_ring_buffer(int subtest); |
Jiri Olsa | a24020e | 2016-06-28 13:29:04 +0200 | [diff] [blame] | 90 | int test__cpu_map_print(int subtest); |
Masami Hiramatsu | 8e5dc84 | 2016-07-12 19:06:05 +0900 | [diff] [blame] | 91 | int test__sdt_event(int subtest); |
Jiri Olsa | 988dd77 | 2016-07-16 18:11:20 +0200 | [diff] [blame] | 92 | int test__is_printable_array(int subtest); |
Jiri Olsa | ff3e33b | 2016-08-01 20:02:32 +0200 | [diff] [blame] | 93 | int test__bitmap_print(int subtest); |
Jiri Olsa | d3b59a3 | 2012-11-10 01:46:42 +0100 | [diff] [blame] | 94 | |
Matt Fleming | d8b167f | 2015-10-05 15:40:20 +0100 | [diff] [blame] | 95 | #if defined(__arm__) || defined(__aarch64__) |
Jiri Olsa | 9ff125d | 2014-01-07 13:47:28 +0100 | [diff] [blame] | 96 | #ifdef HAVE_DWARF_UNWIND_SUPPORT |
Jiri Olsa | aa16b81 | 2014-01-07 13:47:22 +0100 | [diff] [blame] | 97 | struct thread; |
| 98 | struct perf_sample; |
| 99 | int test__arch_unwind_sample(struct perf_sample *sample, |
| 100 | struct thread *thread); |
| 101 | #endif |
| 102 | #endif |
Jiri Olsa | 0a4e1ae | 2012-11-10 01:46:41 +0100 | [diff] [blame] | 103 | #endif /* TESTS_H */ |