1#ifndef MARISA_ALPHA_ASSERT_H_
2#define MARISA_ALPHA_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_alpha::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_ALPHA_ASSERT_H_
25