11#include <source_location>
18namespace kaycxx::test::detail {
27void define_root_suite(std::string_view description,
callback body, std::source_location location = std::source_location::current());
33#define KAYCXX_TEST_CONCAT2(a, b) a##b
34#define KAYCXX_TEST_CONCAT(a, b) KAYCXX_TEST_CONCAT2(a, b)
35#define KAYCXX_TEST_SUITE(description, id) \
36 static void KAYCXX_TEST_CONCAT(_kaycxx_test_suite_body_, id)(); \
37 [[maybe_unused]] static const bool KAYCXX_TEST_CONCAT(_kaycxx_test_suite_, id) = [] { \
38 ::kaycxx::test::detail::define_root_suite( \
40 KAYCXX_TEST_CONCAT(_kaycxx_test_suite_body_, id), \
41 ::std::source_location::current() \
45 static void KAYCXX_TEST_CONCAT(_kaycxx_test_suite_body_, id)()
57#define suite(description) KAYCXX_TEST_SUITE(description, __COUNTER__)
Defines the callback type used by the test framework.
Defines the describe function for nested test suites.
std::move_only_function< void()> callback
Callable block used by tests, suites, and hooks.
Definition callback.hpp:20