void _test_errno(const char* file, long line, const char* desc, long actual, long expected) { char* actual_str = malloc(256); char* expected_str = malloc(256); _snprintf(actual_str, 256, "%ld\t%s", actual, actual ? strerror(actual) : ""); _snprintf(expected_str, 256, "%ld\t%s", expected, expected ? strerror(expected) : ""); _test_print(file, line, desc, (actual == expected), "%s", actual_str, "%s", expected_str); free(actual_str); free(expected_str); }
void _test_ptr_null(const char* file, long line, const char* desc, const void* ptr) { _test_print(file, line, desc, (ptr == NULL), "%p", ptr, "%p", (void*)0); }
void _test_double_less_than(const char* file, long line, const char* desc, double val, double max_expected) { _test_print(file, line, desc, (val < max_expected), "%f", val, "<%f", max_expected); }
void _test_time_less_than(const char* file, long line, const char* desc, dispatch_time_t actual, dispatch_time_t expected_max) { _test_print(file, line, desc, (actual < expected_max), "%I64u", actual, "<%I64u", expected_max); }
void _test_long_less_than(const char* file, long line, const char* desc, long actual, long expected_max) { _test_print(file, line, desc, (actual < expected_max), "%ld", actual, "<%ld", expected_max); }
void _test_long(const char* file, long line, const char* desc, long actual, long expected) { _test_print(file, line, desc, (actual == expected), "%ld", actual, "%ld", expected); }
void _test_ptr(const char* file, long line, const char* desc, const void* actual, const void* expected) { _test_print(file, line, desc, (actual == expected), "%p", actual, "%p", expected); }
void _test_ptr_notnull(const char* file, long line, const char* desc, const void* ptr) { _test_print(file, line, desc, (ptr != NULL), "%p", ptr, "%p", ptr ? ptr : (void*)~(size_t)0); }