Files
jak-project/third-party/capstone/tests/unit/include/unit_test.h
T
Tyler Wilding bfc4c18ada goalc: replicate tests for the majority of ARM64 non-simd cases (#4377)
- Adds `capstone` as a disassembling library that could eventually
replace Zydis (for now left that alone)
- Replicates all of the existing x86 tests to ARM64, fixed a bunch of
underlying issues along the way
- There are a very small handful of tests remaining that need to be
enabled / fixed
2026-08-16 15:34:37 -04:00

63 lines
1.3 KiB
C
Vendored
Generated

// Copyright © 2024 Rot127 <unisono@quyllur.org>
// SPDX-License-Identifier: BSD-3
#define CHECK_OS_EQUAL_RET_FALSE(OS, str) \
do { \
if (strcmp(OS.buffer, str) != 0) { \
printf("OS.buffer != str\n"); \
printf("OS.buffer: %s\n", OS.buffer); \
printf("str : %s\n", str); \
return false; \
} \
} while (0);
#define CHECK_STR_EQUAL_RET_FALSE(a, b) \
do { \
if (strcmp(a, b) != 0) { \
printf("%s != %s\n", a, b); \
return false; \
} \
} while (0);
#define CHECK_NULL_RET_FALSE(ptr) \
do { \
if (ptr != NULL) { \
printf(#ptr " is not NULL\n"); \
return false; \
} \
} while (0);
#define CHECK_PTR_EQUAL_RET_FALSE(a, b) \
do { \
if (a != b) { \
printf("%p != %p\n", a, b); \
return false; \
} \
} while (0);
#define CHECK_INT_EQUAL_RET_FALSE(a, b) \
do { \
if (a != b) { \
printf("%zu != %" PRId32 "\n", a, b); \
return false; \
} \
} while (0);
#define CHECK_OS_EQUALS_ANY_RET_FALSE(OS, ...) \
do { \
const char *const candidates__[] = { __VA_ARGS__ }; \
bool matched__ = false; \
for (size_t i__ = 0; \
i__ < (sizeof(candidates__) / sizeof(candidates__[0])); \
i__++) { \
if (strcmp((OS).buffer, candidates__[i__]) == 0) { \
matched__ = true; \
break; \
} \
} \
if (!matched__) { \
printf("Failed: got '%s'\n", (OS).buffer); \
return false; \
} \
} while (0);