162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include <string.h>
362306a36Sopenharmony_ci#include "tests/tests.h"
462306a36Sopenharmony_ci#include "arch-tests.h"
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#ifdef HAVE_AUXTRACE_SUPPORT
762306a36Sopenharmony_ci#ifdef HAVE_EXTRA_TESTS
862306a36Sopenharmony_ciDEFINE_SUITE("x86 instruction decoder - new instructions", insn_x86);
962306a36Sopenharmony_ci#endif
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_cistatic struct test_case intel_pt_tests[] = {
1262306a36Sopenharmony_ci	TEST_CASE("Intel PT packet decoder", intel_pt_pkt_decoder),
1362306a36Sopenharmony_ci	TEST_CASE("Intel PT hybrid CPU compatibility", intel_pt_hybrid_compat),
1462306a36Sopenharmony_ci	{ .name = NULL, }
1562306a36Sopenharmony_ci};
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cistruct test_suite suite__intel_pt = {
1862306a36Sopenharmony_ci	.desc = "Intel PT",
1962306a36Sopenharmony_ci	.test_cases = intel_pt_tests,
2062306a36Sopenharmony_ci};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#endif
2362306a36Sopenharmony_ci#if defined(__x86_64__)
2462306a36Sopenharmony_ciDEFINE_SUITE("x86 bp modify", bp_modify);
2562306a36Sopenharmony_ci#endif
2662306a36Sopenharmony_ciDEFINE_SUITE("x86 Sample parsing", x86_sample_parsing);
2762306a36Sopenharmony_ciDEFINE_SUITE("AMD IBS via core pmu", amd_ibs_via_core_pmu);
2862306a36Sopenharmony_cistatic struct test_case hybrid_tests[] = {
2962306a36Sopenharmony_ci	TEST_CASE_REASON("x86 hybrid event parsing", hybrid, "not hybrid"),
3062306a36Sopenharmony_ci	{ .name = NULL, }
3162306a36Sopenharmony_ci};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_cistruct test_suite suite__hybrid = {
3462306a36Sopenharmony_ci	.desc = "x86 hybrid",
3562306a36Sopenharmony_ci	.test_cases = hybrid_tests,
3662306a36Sopenharmony_ci};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_cistruct test_suite *arch_tests[] = {
3962306a36Sopenharmony_ci#ifdef HAVE_DWARF_UNWIND_SUPPORT
4062306a36Sopenharmony_ci	&suite__dwarf_unwind,
4162306a36Sopenharmony_ci#endif
4262306a36Sopenharmony_ci#ifdef HAVE_AUXTRACE_SUPPORT
4362306a36Sopenharmony_ci#ifdef HAVE_EXTRA_TESTS
4462306a36Sopenharmony_ci	&suite__insn_x86,
4562306a36Sopenharmony_ci#endif
4662306a36Sopenharmony_ci	&suite__intel_pt,
4762306a36Sopenharmony_ci#endif
4862306a36Sopenharmony_ci#if defined(__x86_64__)
4962306a36Sopenharmony_ci	&suite__bp_modify,
5062306a36Sopenharmony_ci#endif
5162306a36Sopenharmony_ci	&suite__x86_sample_parsing,
5262306a36Sopenharmony_ci	&suite__amd_ibs_via_core_pmu,
5362306a36Sopenharmony_ci	&suite__hybrid,
5462306a36Sopenharmony_ci	NULL,
5562306a36Sopenharmony_ci};
56