summaryrefslogtreecommitdiff
path: root/asl/testing/testing.hpp
blob: a489d617f5cb271ece891119374e53515ec6695b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#pragma once

namespace asl::testing
{

using TestFunction = void();
int register_test(const char* suite_name, const char* case_name, TestFunction* fn);

} // namespace asl::testing

#define ASL_TEST(SUITE, CASE)                                                      \
    static void asl_test_fn_##SUITE##_##CASE();                                    \
    static const int asl_test_##SUITE##_##CASE = ::asl::testing::register_test(    \
        #SUITE, #CASE, asl_test_fn_##SUITE##_##CASE);                              \
    void asl_test_fn_##SUITE##_##CASE()