/*
Structures for generic tests.
*/
-#include <memcached.h>
-#include "../lib/common.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <libmemcached/memcached.h>
+#include <stdio.h>
+
+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_MAXIMUM_RETURN /* Always add new error code before */
+} test_return;
+
struct test_st {
- char *name;
+ const char *name;
unsigned int requires_flush;
- uint8_t (*function)(memcached_st *memc);
+ test_return (*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;
};
+struct world_st {
+ collection_st *collections;
+ void *(*create)(void);
+ void (*destroy)(void *collection_object);
+};
+
/* How we make all of this work :) */
-collection_st *gets_collections(void);
+void get_world(world_st *world);
+
+#ifdef __cplusplus
+}
+#endif