19 constexpr void execute()
const { m_function(); }
47#define IRIS_TEST(suite_name, case_name) \
48 static void suite_name##_##case_name(); \
49 static void register_##suite_name##_##case_name() { \
50 iris::test::TestManager::the().register_test_case( \
51 iris::test::TestCase("" #suite_name ""_tsv, "" #case_name ""_tsv, suite_name##_##case_name)); \
53 [[maybe_unused]] [[gnu::section(".unit_test_init_array")]] static void ( \
54 *__unit_test_##suite_name##_##case_name)() = register_##suite_name##_##case_name; \
55 static void suite_name##_##case_name() { \
Definition vector_forward_declaration.h:8
Definition unit_test.h:10
constexpr TestCase(di::TransparentStringView suite_name, di::TransparentStringView case_name, TestCaseFunction function)
Definition unit_test.h:12
constexpr auto suite_name() const -> di::TransparentStringView
Definition unit_test.h:16
constexpr auto case_name() const -> di::TransparentStringView
Definition unit_test.h:17
constexpr friend auto operator==(TestCase const &a, TestCase const &b) -> bool
Definition unit_test.h:22
constexpr friend auto operator<=>(TestCase const &a, TestCase const &b) -> di::strong_ordering
Definition unit_test.h:26
constexpr void execute() const
Definition unit_test.h:19
Definition unit_test.h:35
void run_tests()
Definition unit_test.cpp:28
void register_test_case(TestCase)
Definition unit_test.cpp:10
static auto the() -> TestManager &
Definition unit_test.cpp:6
string::StringViewImpl< string::TransparentEncoding > TransparentStringView
Definition string_view.h:13
Definition zstring_parser.h:9
constexpr auto make_tuple(Args &&... args)
Definition make_tuple.h:9
Definition unit_test.cpp:5
void(*)() TestCaseFunction
Definition unit_test.h:8