Style cleanup
[m6w6/libmemcached] / tests / test.h
index 7c0e49daef93e2ce0b05027f04df4d97767b7b21..b002cd1e05a4d896d7cd9b27e9ce3981214793da 100644 (file)
@@ -3,10 +3,10 @@
 */
 #ifdef __cplusplus
 extern "C" {
-
 #endif
+
 #include <libmemcached/memcached.h>
-#include "../libmemcached/common.h"
+#include <stdio.h>
 
 typedef struct world_st world_st;
 typedef struct collection_st collection_st;
@@ -16,19 +16,20 @@ typedef enum {
   TEST_SUCCESS= 0, /* Backwards compatibility */
   TEST_FAILURE,
   TEST_MEMORY_ALLOCATION_FAILURE,
-  TEST_MAXIMUM_RETURN, /* Always add new error code before */
-} test_return;
+  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;
-  test_return (*function)(memcached_st *memc);
+  test_return_t (*function)(memcached_st *memc);
 };
 
 struct collection_st {
-  char *name;
-  memcached_return (*pre)(memcached_st *memc);
-  memcached_return (*post)(memcached_st *memc);
+  const char *name;
+  memcached_return_t (*pre)(memcached_st *memc);
+  memcached_return_t (*post)(memcached_st *memc);
   test_st *tests;
 };
 
@@ -41,6 +42,39 @@ struct world_st {
 /* How we make all of this work :) */
 void get_world(world_st *world);
 
+void create_core(void);
+
+#define test_truth(A) \
+do \
+{ \
+  if (! (A)) { \
+    fprintf(stderr, "Assertion failed in %s:%d: %s\n", __FILE__, __LINE__, #A);\
+    create_core(); \
+    return TEST_FAILURE; \
+  } \
+} while (0)
+
+#define test_false(A) \
+do \
+{ \
+  if ((A)) { \
+    fprintf(stderr, "Assertion failed in %s:%d: %s\n", __FILE__, __LINE__, #A);\
+    create_core(); \
+    return TEST_FAILURE; \
+  } \
+} while (0)
+
+#define test_strcmp(A,B) \
+do \
+{ \
+  if (strcmp((A), (B))) \
+  { \
+    fprintf(stderr, "%d", __LINE__); \
+    create_core(); \
+    return TEST_FAILURE; \
+  } \
+} while (0)
+
 #ifdef __cplusplus
 }
 #endif