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