]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
test: Add CHECKM macro that accepts an error message
authorJoel Rosdahl <joel@rosdahl.net>
Sun, 24 Jul 2011 15:58:33 +0000 (17:58 +0200)
committerJoel Rosdahl <joel@rosdahl.net>
Tue, 26 Jul 2011 20:11:45 +0000 (22:11 +0200)
test/framework.c
test/framework.h

index 8169fa525edba226a191761205315b3e1862fd22..425e9ff530b198e1feff9fcda69d432e79ad1935 100644 (file)
@@ -156,10 +156,14 @@ cct_check_failed(const char *file, int line, const char *what,
        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);
        }
index 5f1a77083e54769abfb36319ca330343a919021b..7428e58c201e5b779f6284be6aa2f8460c9765f8 100644 (file)
 
 /*****************************************************************************/
 
-#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))) { \