24 lines
581 B
C
24 lines
581 B
C
#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_
|