Style cleanup
[m6w6/libmemcached] / tests / test.h
index d0e089ddfcfa42f5b3d62762162ac64e360aa91f..b002cd1e05a4d896d7cd9b27e9ce3981214793da 100644 (file)
@@ -16,19 +16,20 @@ 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;
+} test_return_t;
 
 struct test_st {
   const char *name;
   unsigned int requires_flush;
-  test_return (*function)(memcached_st *memc);
+  test_return_t (*function)(memcached_st *memc);
 };
 
 struct collection_st {
   const char *name;
-  memcached_return (*pre)(memcached_st *memc);
-  memcached_return (*post)(memcached_st *memc);
+  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