1#ifndef MARISA_ASSERT_H_ 2#define MARISA_ASSERT_H_ 3 4#include <stdio.h> 5#include <stdlib.h> 6 7#define ASSERT(cond) (void)((!!(cond)) || \ 8 (printf("%d: Assertion `%s' failed.\n", __LINE__, #cond), exit(-1), 0)) 9 10#define EXCEPT(code, expected_status) try { \ 11 code; \ 12 printf("%d: Exception `%s' failed.\n", __LINE__, #code); \ 13 exit(-1); \ 14} catch (const marisa::Exception &ex) { \ 15 ASSERT(ex.status() == expected_status); \ 16} 17 18#define TEST_START() \ 19 printf("%s:%d: %s(): ", __FILE__, __LINE__, __FUNCTION__) 20 21#define TEST_END() \ 22 printf("ok\n") 23 24#endif // MARISA_ASSERT_H_ 25