1 #ifndef TEST_SUITE_H_6XEHCUS5
2 #define TEST_SUITE_H_6XEHCUS5
7 const char * const test_name
;
8 int (* const test_fn
)(void *test_data
, void *suite_data
);
9 int (* const test_pre_fn
)(void *test_data
, void *suite_data
);
10 int (* const test_post_fn
)(void *test_data
, void *suite_data
);
14 /* define all of these within module to test */
15 extern test_t test_suite
[];
16 extern int test_suite_pre(void *suite_data
);
17 extern int test_suite_post(void *suite_data
);
18 extern void *test_suite_data
;
20 /* use these in tests */
21 void test_verbose(const char *fmt
, ...) __attribute__((format(printf
, 1, 2))); /* stdout only with -v flag */
22 void test_info(const char *fmt
, ...) __attribute__((format(printf
, 1, 2))); /* stdout */
23 void test_error(const char *fmt
, ...) __attribute__((format(printf
, 1, 2))); /* stderr */
25 #define TEST_VERBOSE(fmt,...) do { test_verbose("%s@%s:%d/%s/" fmt "\n", "verbose", __FILE__, __LINE__, __func__, ##__VA_ARGS__); } while (0)
26 #define TEST_INFO(fmt,...) do { test_info("%s@%s:%d/%s/" fmt "\n", "info", __FILE__, __LINE__, __func__, ##__VA_ARGS__); } while (0)
27 #define TEST_ERROR(fmt,...) do { test_error("%s@%s:%d/%s/" fmt "\n", "error", __FILE__, __LINE__, __func__, ##__VA_ARGS__); } while (0)
30 #define TEST_VERBOSE(...)
31 #define TEST_INFO(...)
32 #define TEST_ERROR(...)
35 #endif /* TEST_SUITE_H_6XEHCUS5 */