// SPDX-License-Identifier: GPL-2.0
#include <string.h>
#include "tests/tests.h"
#include "arch-tests.h"

#ifdef HAVE_AUXTRACE_SUPPORT
#ifdef HAVE_EXTRA_TESTS
DEFINE_SUITE("x86 instruction decoder - new instructions", insn_x86);
#endif

static struct test_case intel_pt_tests[] = {
	TEST_CASE("Intel PT packet decoder", intel_pt_pkt_decoder),
	TEST_CASE("Intel PT hybrid CPU compatibility", intel_pt_hybrid_compat),
	{ .name = NULL, }
};

struct test_suite suite__intel_pt = {
	.desc = "Intel PT",
	.test_cases = intel_pt_tests,
};

#endif
#if defined(__x86_64__)
DEFINE_SUITE("x86 bp modify", bp_modify);
#endif
DEFINE_SUITE("x86 Sample parsing", x86_sample_parsing);
DEFINE_SUITE("AMD IBS via core pmu", amd_ibs_via_core_pmu);
static struct test_case hybrid_tests[] = {
	TEST_CASE_REASON("x86 hybrid event parsing", hybrid, "not hybrid"),
	{ .name = NULL, }
};

struct test_suite suite__hybrid = {
	.desc = "x86 hybrid",
	.test_cases = hybrid_tests,
};

struct test_suite *arch_tests[] = {
#ifdef HAVE_DWARF_UNWIND_SUPPORT
	&suite__dwarf_unwind,
#endif
#ifdef HAVE_AUXTRACE_SUPPORT
#ifdef HAVE_EXTRA_TESTS
	&suite__insn_x86,
#endif
	&suite__intel_pt,
#endif
#if defined(__x86_64__)
	&suite__bp_modify,
#endif
	&suite__x86_sample_parsing,
	&suite__amd_ibs_via_core_pmu,
	&suite__hybrid,
	NULL,
};
