Go to the documentation of this file.
2 #ifndef PORTAUDIO_QA_PAQA_MACROS_H
3 #define PORTAUDIO_QA_PAQA_MACROS_H
9 #define PAQA_INSTANTIATE_GLOBALS\
10 int paQaNumPassed = 0;\
11 int paQaNumFailed = 0;
16 #define CHECK_TRUE(_exp, _on_error) \
23 printf("ERROR at %s:%d, (%s) not true\n", \
24 __FILE__, __LINE__, #_exp ); \
30 #define ASSERT_TRUE(_exp) CHECK_TRUE(_exp, goto error)
31 #define EXPECT_TRUE(_exp) CHECK_TRUE(_exp, (void)0)
33 #define CHECK_AB(_a, _b, _op, _opn, _on_error) \
42 printf("ERROR at %s:%d, (%s) %s (%s), %d %s %d\n", \
43 __FILE__, __LINE__, #_a, #_opn, #_b, mA, #_opn, mB ); \
49 #define ASSERT_AB(_a, _b, _op, _opn) CHECK_AB(_a, _b, _op, _opn, goto error)
50 #define ASSERT_EQ(_a, _b) ASSERT_AB(_a, _b, ==, !=)
51 #define ASSERT_NE(_a, _b) ASSERT_AB(_a, _b, !=, ==)
52 #define ASSERT_GT(_a, _b) ASSERT_AB(_a, _b, >, <=)
53 #define ASSERT_GE(_a, _b) ASSERT_AB(_a, _b, >=, <)
54 #define ASSERT_LT(_a, _b) ASSERT_AB(_a, _b, <, >=)
55 #define ASSERT_LE(_a, _b) ASSERT_AB(_a, _b, <=, >)
57 #define EXPECT_AB(_a, _b, _op, _opn) CHECK_AB(_a, _b, _op, _opn, (void)0)
58 #define EXPECT_EQ(_a, _b) EXPECT_AB(_a, _b, ==, !=)
59 #define EXPECT_NE(_a, _b) EXPECT_AB(_a, _b, !=, ==)
60 #define EXPECT_GT(_a, _b) EXPECT_AB(_a, _b, >, <=)
61 #define EXPECT_GE(_a, _b) EXPECT_AB(_a, _b, >=, <)
62 #define EXPECT_LT(_a, _b) EXPECT_AB(_a, _b, <, >=)
63 #define EXPECT_LE(_a, _b) EXPECT_AB(_a, _b, <=, >)
65 #define HOPEFOR(_exp) \
72 printf("\nERROR - 0x%x - %s for %s\n", result, Pa_GetErrorText(result), #_exp ); \
77 #define PAQA_PRINT_RESULT \
78 printf("QA Report: %d passed, %d failed.\n", paQaNumPassed, paQaNumFailed )
80 #define PAQA_EXIT_RESULT \
81 (((paQaNumFailed > 0) || (paQaNumPassed == 0)) ? EXIT_FAILURE : EXIT_SUCCESS)