test_purec.h 1.2 KB

1234567891011121314151617181920212223242526
  1. /* clang-format off */
  2. #ifndef __TEST__PUREC__H
  3. #include <stdio.h>
  4. extern volatile int test_num;
  5. #define __TEST__PUREC__H
  6. #define TEST_START extern "C" {
  7. #define TEST(_group, _name) void test_##_group##_##_name(void)
  8. #define EXPECT_EQ(_a, _b) _pika_assert((uintptr_t)_a == (uintptr_t)_b)
  9. #define EXPECT_STREQ(_a, _b) _pika_assert(strEqu(_a, _b) == 1)
  10. #define ASSERT_FLOAT_EQ(_a, _b) _pika_assert((_a - _b) * (_a - _b) < 0.0001)
  11. #define EXPECT_FLOAT_EQ(_a, _b) ASSERT_FLOAT_EQ(_a, _b)
  12. #define EXPECT_DOUBLE_EQ(_a, _b) ASSERT_FLOAT_EQ(_a, _b)
  13. #define ASSERT_EQ(_a, _b) _pika_assert(_a == _b)
  14. #define ASSERT_STREQ(_a, _b) _pika_assert(strEqu(_a, _b) == 1)
  15. #define EXPECT_NE(_a, _b) _pika_assert(_a != _b)
  16. #define EXPECT_TRUE(_a) _pika_assert(_a)
  17. #define TEST_END \
  18. }
  19. /* clang-format on */
  20. #define RUN_TEST(_group, _name) \
  21. printf("[ RUN ] %s_%s\r\n", #_group, #_name); \
  22. void test_##_group##_##_name(void); \
  23. test_##_group##_##_name(); \
  24. printf("[ OK ] %s_%s\r\n", #_group, #_name); \
  25. test_num++;
  26. #endif