X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Ftest.h;h=cc0fd78aaaf21c8e5614c0776fdf4631ea355d76;hb=5978e22206f36565d27a4d513962832f92955652;hp=cf19057250f347c755cb44c4acdd0b4d15a937b8;hpb=c2aabfa4fef8c0069f693a5522c6c23a00ae9d83;p=awesomized%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; \ } \