| #ifndef MARISA_ASSERT_H_ |
| #define MARISA_ASSERT_H_ |
| |
| #include <stdio.h> |
| #include <stdlib.h> |
| |
| #define ASSERT(cond) (void)((!!(cond)) || \ |
| (printf("%d: Assertion `%s' failed.\n", __LINE__, #cond), exit(-1), 0)) |
| |
| #define EXCEPT(code, expected_status) try { \ |
| code; \ |
| printf("%d: Exception `%s' failed.\n", __LINE__, #code); \ |
| exit(-1); \ |
| } catch (const marisa::Exception &ex) { \ |
| ASSERT(ex.status() == expected_status); \ |
| } |
| |
| #define TEST_START() \ |
| printf("%s:%d: %s(): ", __FILE__, __LINE__, __FUNCTION__) |
| |
| #define TEST_END() \ |
| printf("ok\n") |
| |
| #endif // MARISA_ASSERT_H_ |