fprintf(stderr, "%s:%d: Failed assertion:\n", file, line);
fprintf(stderr, " Suite: %s\n", current_suite);
fprintf(stderr, " Test: %s\n", current_test);
- if (expected && actual) {
+ if (expected) {
fprintf(stderr, " Expression: %s\n", what);
- fprintf(stderr, " Expected: %s\n", expected);
- fprintf(stderr, " Actual: %s\n", actual);
+ if (actual) {
+ fprintf(stderr, " Expected: %s\n", expected);
+ fprintf(stderr, " Actual: %s\n", actual);
+ } else {
+ fprintf(stderr, " Message: %s\n", expected);
+ }
} else {
fprintf(stderr, " Assertion: %s\n", what);
}
/*****************************************************************************/
-#define CHECK(assertion) \
+#define CHECKM(assertion, message) \
do { \
if ((assertion)) { \
cct_check_passed(__FILE__, __LINE__, #assertion); \
} else { \
- cct_check_failed(__FILE__, __LINE__, #assertion, NULL, NULL); \
+ cct_check_failed(__FILE__, __LINE__, #assertion, (message), NULL); \
cct_test_end(); \
cct_suite_end(); \
return _test_counter; \
} \
} while (0)
+#define CHECK(assertion) \
+ CHECKM(assertion, NULL)
+
#define CHECK_POINTER_EQ_BASE(t, e, a, f1, f2) \
do { \
if (!cct_check_##t##_eq(__FILE__, __LINE__, #a, (e), (a), (f1), (f2))) { \