1 | // SPDX-License-Identifier: GPL-2.0 |
2 | #include <string.h> |
3 | #include "tests/tests.h" |
4 | #include "arch-tests.h" |
5 | |
6 | #ifdef HAVE_AUXTRACE_SUPPORT |
7 | #ifdef HAVE_EXTRA_TESTS |
8 | DEFINE_SUITE("x86 instruction decoder - new instructions" , insn_x86); |
9 | #endif |
10 | |
11 | static struct test_case intel_pt_tests[] = { |
12 | TEST_CASE("Intel PT packet decoder" , intel_pt_pkt_decoder), |
13 | TEST_CASE("Intel PT hybrid CPU compatibility" , intel_pt_hybrid_compat), |
14 | { .name = NULL, } |
15 | }; |
16 | |
17 | struct test_suite suite__intel_pt = { |
18 | .desc = "Intel PT" , |
19 | .test_cases = intel_pt_tests, |
20 | }; |
21 | |
22 | #endif |
23 | #if defined(__x86_64__) |
24 | DEFINE_SUITE("x86 bp modify" , bp_modify); |
25 | #endif |
26 | DEFINE_SUITE("x86 Sample parsing" , x86_sample_parsing); |
27 | DEFINE_SUITE("AMD IBS via core pmu" , amd_ibs_via_core_pmu); |
28 | static struct test_case hybrid_tests[] = { |
29 | TEST_CASE_REASON("x86 hybrid event parsing" , hybrid, "not hybrid" ), |
30 | { .name = NULL, } |
31 | }; |
32 | |
33 | struct test_suite suite__hybrid = { |
34 | .desc = "x86 hybrid" , |
35 | .test_cases = hybrid_tests, |
36 | }; |
37 | |
38 | struct test_suite *arch_tests[] = { |
39 | #ifdef HAVE_DWARF_UNWIND_SUPPORT |
40 | &suite__dwarf_unwind, |
41 | #endif |
42 | #ifdef HAVE_AUXTRACE_SUPPORT |
43 | #ifdef HAVE_EXTRA_TESTS |
44 | &suite__insn_x86, |
45 | #endif |
46 | &suite__intel_pt, |
47 | #endif |
48 | #if defined(__x86_64__) |
49 | &suite__bp_modify, |
50 | #endif |
51 | &suite__x86_sample_parsing, |
52 | &suite__amd_ibs_via_core_pmu, |
53 | &suite__hybrid, |
54 | NULL, |
55 | }; |
56 | |