xref: /xnu-11215.81.4/tools/tests/perf_index/fail.h (revision d4514f0bc1d3f944c22d92e68b646ac3fb40d452)
1*d4514f0bSApple OSS Distributions #ifndef __FAIL_H_
2*d4514f0bSApple OSS Distributions #define __FAIL_H_
3*d4514f0bSApple OSS Distributions 
4*d4514f0bSApple OSS Distributions #define TOSTRING_HELPER(x) #x
5*d4514f0bSApple OSS Distributions #define TOSTRING(x) TOSTRING_HELPER(x)
6*d4514f0bSApple OSS Distributions 
7*d4514f0bSApple OSS Distributions #define PERFINDEX_FAILURE -1
8*d4514f0bSApple OSS Distributions #define PERFINDEX_SUCCESS 0
9*d4514f0bSApple OSS Distributions 
10*d4514f0bSApple OSS Distributions extern char* error_str;
11*d4514f0bSApple OSS Distributions 
12*d4514f0bSApple OSS Distributions #define FAIL(message) do {\
13*d4514f0bSApple OSS Distributions     error_str = message " at " __FILE__ ": " TOSTRING(__LINE__);\
14*d4514f0bSApple OSS Distributions     return PERFINDEX_FAILURE;\
15*d4514f0bSApple OSS Distributions } while(0)
16*d4514f0bSApple OSS Distributions 
17*d4514f0bSApple OSS Distributions #define VERIFY(condition, fail_message) do {\
18*d4514f0bSApple OSS Distributions     if(!(condition)) FAIL(fail_message);\
19*d4514f0bSApple OSS Distributions } while(0)
20*d4514f0bSApple OSS Distributions 
21*d4514f0bSApple OSS Distributions #endif
22