X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftest.h;h=cc0fd78aaaf21c8e5614c0776fdf4631ea355d76;hb=c3992b4a4f0a52704af43fd8da166579caf52a56;hp=cf19057250f347c755cb44c4acdd0b4d15a937b8;hpb=f5c167f523682cb08109842ce010b29e80fdf63d;p=m6w6%2Flibmemcached diff --git a/tests/test.h b/tests/test.h index cf190572..cc0fd78a 100644 --- a/tests/test.h +++ b/tests/test.h @@ -39,6 +39,8 @@ typedef test_return_t (*test_callback_fn)(void *); typedef test_return_t (*test_callback_runner_fn)(test_callback_fn, void *); typedef test_return_t (*test_callback_error_fn)(test_return_t, void *); +/* Help function for use with gettimeofday() */ +long int timedif(struct timeval a, struct timeval b); /** A structure describing the test case. @@ -147,11 +149,31 @@ void create_core(void); */ const char *test_strerror(test_return_t code); -#define test_truth(A) \ +#define test_fail(A) \ +do \ +{ \ + if (1) { \ + fprintf(stderr, "\nFailed at %s:%d: %s\n", __FILE__, __LINE__, #A);\ + create_core(); \ + return TEST_FAILURE; \ + } \ +} while (0) + +#define test_true(A) \ +do \ +{ \ + if (! (A)) { \ + fprintf(stderr, "\nAssertion failed at %s:%d: %s\n", __FILE__, __LINE__, #A);\ + create_core(); \ + return TEST_FAILURE; \ + } \ +} while (0) + +#define test_true_got(A,B) \ do \ { \ if (! (A)) { \ - fprintf(stderr, "\nAssertion failed in %s:%d: %s\n", __FILE__, __LINE__, #A);\ + fprintf(stderr, "\nAssertion failed at %s:%d: \"%s\" received \"%s\"\n", __FILE__, __LINE__, #A, (B));\ create_core(); \ return TEST_FAILURE; \ } \ @@ -161,7 +183,7 @@ do \ do \ { \ if ((A)) { \ - fprintf(stderr, "\nAssertion failed in %s:%d: %s\n", __FILE__, __LINE__, #A);\ + fprintf(stderr, "\nAssertion failed at %s:%d: %s\n", __FILE__, __LINE__, #A);\ create_core(); \ return TEST_FAILURE; \ } \