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)