 165b814f5d
			
		
	
	
		165b814f5d
		
	
	
	
	
		
			
			this is necessary in order to get Furnace to build using CMake 4.0. you should do: git submodule deinit extern/portaudio
		
			
				
	
	
		
			72 lines
		
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
| #ifndef PORTAUDIO_QA_PAQA_MACROS_H
 | |
| #define PORTAUDIO_QA_PAQA_MACROS_H
 | |
| 
 | |
| extern int paQaNumPassed;
 | |
| extern int paQaNumFailed;
 | |
| 
 | |
| /* You must use this macro exactly once in each test program. */
 | |
| #define PAQA_INSTANTIATE_GLOBALS\
 | |
|     int paQaNumPassed = 0;\
 | |
|     int paQaNumFailed = 0;
 | |
| 
 | |
| /*------------------- Macros ------------------------------*/
 | |
| /* Print ERROR if it fails. Tally success or failure. Odd  */
 | |
| /* do-while wrapper seems to be needed for some compilers. */
 | |
| #define ASSERT_TRUE(_exp) \
 | |
|     do \
 | |
|     { \
 | |
|         if (_exp) {\
 | |
|             paQaNumPassed++; \
 | |
|         } \
 | |
|         else { \
 | |
|             printf("ERROR at %s:%d, (%s) not true\n", \
 | |
|                 __FILE__, __LINE__, #_exp ); \
 | |
|             paQaNumFailed++; \
 | |
|             goto error; \
 | |
|         } \
 | |
|     } while(0)
 | |
| 
 | |
| #define ASSERT_AB(_a, _b, _op, _opn) \
 | |
|     do \
 | |
|     { \
 | |
|         int mA = (int)(_a); \
 | |
|         int mB = (int)(_b); \
 | |
|         if (mA _op mB) {\
 | |
|             paQaNumPassed++; \
 | |
|         } \
 | |
|         else { \
 | |
|             printf("ERROR at %s:%d, (%s) %s (%s), %d %s %d\n", \
 | |
|                 __FILE__, __LINE__, #_a, #_opn, #_b, mA, #_opn, mB ); \
 | |
|             paQaNumFailed++; \
 | |
|             goto error; \
 | |
|         } \
 | |
|     } while(0)
 | |
| 
 | |
| #define ASSERT_EQ(_a, _b) ASSERT_AB(_a, _b, ==, !=)
 | |
| #define ASSERT_NE(_a, _b) ASSERT_AB(_a, _b, !=, ==)
 | |
| #define ASSERT_GT(_a, _b) ASSERT_AB(_a, _b, >, <=)
 | |
| #define ASSERT_GE(_a, _b) ASSERT_AB(_a, _b, >=, <)
 | |
| #define ASSERT_LT(_a, _b) ASSERT_AB(_a, _b, <, >=)
 | |
| #define ASSERT_LE(_a, _b) ASSERT_AB(_a, _b, <=, >)
 | |
| 
 | |
| #define HOPEFOR(_exp) \
 | |
|     do \
 | |
|     { \
 | |
|         if ((_exp)) {\
 | |
|             paQaNumPassed++; \
 | |
|         } \
 | |
|         else { \
 | |
|             printf("\nERROR - 0x%x - %s for %s\n", result, Pa_GetErrorText(result), #_exp ); \
 | |
|             paQaNumFailed++; \
 | |
|         } \
 | |
|     } while(0)
 | |
| 
 | |
| #define PAQA_PRINT_RESULT \
 | |
|         printf("QA Report: %d passed, %d failed.\n", paQaNumPassed, paQaNumFailed )
 | |
| 
 | |
| #define PAQA_EXIT_RESULT \
 | |
|         (((paQaNumFailed > 0) || (paQaNumPassed == 0)) ? EXIT_FAILURE : EXIT_SUCCESS)
 | |
| 
 | |
| #endif /* PORTAUDIO_QA_PAQA_MACROS_H */
 |