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