1*ab8db090SAndroid Build Coastguard Worker #ifndef MARISA_ASSERT_H_ 2*ab8db090SAndroid Build Coastguard Worker #define MARISA_ASSERT_H_ 3*ab8db090SAndroid Build Coastguard Worker 4*ab8db090SAndroid Build Coastguard Worker #include <iostream> 5*ab8db090SAndroid Build Coastguard Worker #include <cstdlib> 6*ab8db090SAndroid Build Coastguard Worker 7*ab8db090SAndroid Build Coastguard Worker #define ASSERT(cond) (void)((!!(cond)) || \ 8*ab8db090SAndroid Build Coastguard Worker ((std::cout << __LINE__ << ": Assertion `" << #cond << "' failed." \ 9*ab8db090SAndroid Build Coastguard Worker << std::endl), std::exit(-1), 0)) 10*ab8db090SAndroid Build Coastguard Worker 11*ab8db090SAndroid Build Coastguard Worker #define EXCEPT(code, expected_error_code) try { \ 12*ab8db090SAndroid Build Coastguard Worker code; \ 13*ab8db090SAndroid Build Coastguard Worker std::cout << __LINE__ << ": Exception `" << #code << "' failed." \ 14*ab8db090SAndroid Build Coastguard Worker << std::endl; \ 15*ab8db090SAndroid Build Coastguard Worker std::exit(-1); \ 16*ab8db090SAndroid Build Coastguard Worker } catch (const marisa::Exception &ex) { \ 17*ab8db090SAndroid Build Coastguard Worker ASSERT(ex.error_code() == expected_error_code); \ 18*ab8db090SAndroid Build Coastguard Worker } 19*ab8db090SAndroid Build Coastguard Worker 20*ab8db090SAndroid Build Coastguard Worker #define TEST_START() \ 21*ab8db090SAndroid Build Coastguard Worker (std::cout << __FILE__ << ":" << __LINE__ << ": " << __FUNCTION__ << "(): ") 22*ab8db090SAndroid Build Coastguard Worker 23*ab8db090SAndroid Build Coastguard Worker #define TEST_END() \ 24*ab8db090SAndroid Build Coastguard Worker (std::cout << "ok" << std::endl) 25*ab8db090SAndroid Build Coastguard Worker 26*ab8db090SAndroid Build Coastguard Worker #endif // MARISA_ASSERT_H_ 27