X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Ftest.h;h=972788e5cb92f5c0fb37d03b17ae3f6fbb12386b;hb=e5b935007a47da228caf3bcb2f61a84547ae4e9d;hp=39b141250ad7d76fc10caa9c190caff9a611cd37;hpb=69e37123baed3e7d5970be3c576fb61f91713736;p=m6w6%2Flibmemcached diff --git a/tests/test.h b/tests/test.h index 39b14125..972788e5 100644 --- a/tests/test.h +++ b/tests/test.h @@ -16,9 +16,12 @@ extern "C" { #include #include -#include #include +#if !defined(__cplusplus) +# include +#endif + typedef struct world_st world_st; typedef struct collection_st collection_st; typedef struct test_st test_st; @@ -102,11 +105,13 @@ struct world_st { test_callback_error_fn on_error; } test; - /* This is called a the beginning of any collection run. */ - test_callback_fn collection_startup; + struct { + /* This is called a the beginning of any collection run. */ + test_callback_fn startup; - /* This is called a the beginning of any collection run. */ - test_callback_fn collection_shutdown; + /* This is called at the end of any collection run. */ + test_callback_fn shutdown; + } collection; /** @@ -142,6 +147,14 @@ void create_core(void); */ const char *test_strerror(test_return_t code); +#define test_fail(A) \ +do \ +{ \ + fprintf(stderr, "\nFailed in %s:%d: %s\n", __FILE__, __LINE__, #A);\ + create_core(); \ + return TEST_FAILURE; \ +} while (0) + #define test_truth(A) \ do \ { \