X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Ftest.h;h=e786e9eae35fb321e8415d3977107d1226ef2297;hb=e4ea2e9129e57ee1da4787a473d21b6aa9930396;hp=1c6b87be25bd383242679e4627d5eb1d6f09e40f;hpb=540b884236fe1e2d5e6cd52c70881d74e0fcea63;p=m6w6%2Flibmemcached diff --git a/tests/test.h b/tests/test.h index 1c6b87be..e786e9ea 100644 --- a/tests/test.h +++ b/tests/test.h @@ -3,23 +3,31 @@ */ #ifdef __cplusplus extern "C" { - #endif -#include -#include "../lib/common.h" + +#include +#include typedef struct world_st world_st; typedef struct collection_st collection_st; typedef struct test_st test_st; +typedef enum { + TEST_SUCCESS= 0, /* Backwards compatibility */ + TEST_FAILURE, + TEST_MEMORY_ALLOCATION_FAILURE, + TEST_SKIPPED, + TEST_MAXIMUM_RETURN /* Always add new error code before */ +} test_return_t; + struct test_st { - char *name; + const char *name; unsigned int requires_flush; - uint8_t (*function)(memcached_st *memc); + test_return_t (*function)(memcached_st *memc); }; struct collection_st { - char *name; + const char *name; memcached_return (*pre)(memcached_st *memc); memcached_return (*post)(memcached_st *memc); test_st *tests; @@ -34,6 +42,10 @@ struct world_st { /* How we make all of this work :) */ void get_world(world_st *world); +#define test_truth(A) if (! (A)) {fprintf(stderr, "%d", __LINE__); return TEST_FAILURE;} +#define test_false(A) if ((A)) {fprintf(stderr, "%d", __LINE__); return TEST_FAILURE;} +#define test_strcmp(A,B) if (strcmp((A), (B))) {fprintf(stderr, "%d", __LINE__); return TEST_FAILURE;} + #ifdef __cplusplus } #endif