#define test_add(group, success_and_assertion, name) test_group_add (group, success_and_assertion, name, __FILE__, __LINE__) /* add a test to a test group. source file and line will be inserted automatically. to be used with the `test_assert()` macro. */
#define test_assert(a) ((bool) (a)), (#a) /* provides the `success` and `assertion` parameters for `test_add()` / `test_group_add()` */
test_suite_ttest_suite_new(void);/* create a new test suite */
voidtest_suite_free(test_suite_t*suite);/* free dynamically allocated memory occupied by a test suite */
voidtest_suite_add(test_suite_t*suite,test_entry_func_tfunc);/* add a test group function to a test suite */
test_results_ttest_suite_run(test_suite_t*suite);/* run the entries within a test suite and print an informational message */
test_group_ttest_group_new(void);/* create a new test group */
voidtest_group_add(test_group_t*group,boolsuccess,constchar*assertion,constchar*name,constchar*file,size_tline);/* add a test to a test group, print an error message if the test failed */
test_results_ttest_group_get_results(test_group_t*group);/* get results of a test group. used for returning the status from a test group */