This add AES support.
[m6w6/libmemcached] / libtest / test.h
index 74a20e05e8d3df44ebdd70584c155ad9a63d7c28..d349e54ae0ee3603b6f1cc1f101b4168409de13d 100644 (file)
@@ -87,11 +87,21 @@ do \
     return TEST_FAILURE; \
   } \
 } while (0)
+#define test_true_hint test_true_got
 
-#define test_skip(A,B) \
+#define test_skip(__expected, __actual) \
 do \
 { \
-  if ((A) != (B)) \
+  if (libtest::_compare(__FILE__, __LINE__, __func__, ((__expected)), ((__actual)), false) == false) \
+  { \
+    return TEST_SKIPPED; \
+  } \
+} while (0)
+
+#define test_skip_valgrind() \
+do \
+{ \
+  if (libtest::_in_valgrind(__FILE__, __LINE__, __func__)) \
   { \
     return TEST_SKIPPED; \
   } \
@@ -128,10 +138,20 @@ do \
   } \
 } while (0)
 
+#define test_ne_compare(__expected, __actual) \
+do \
+{ \
+  if (libtest::_ne_compare_hint(__FILE__, __LINE__, __func__, ((__expected)), ((__actual)), true) == false) \
+  { \
+    libtest::create_core(); \
+    return TEST_FAILURE; \
+  } \
+} while (0)
+
 #define test_compare(__expected, __actual) \
 do \
 { \
-  if (not libtest::_compare(__FILE__, __LINE__, __func__, ((__expected)), ((__actual)))) \
+  if (libtest::_compare(__FILE__, __LINE__, __func__, ((__expected)), ((__actual)), true) == false) \
   { \
     libtest::create_core(); \
     return TEST_FAILURE; \
@@ -165,7 +185,7 @@ do \
 #define test_compare_warn(__expected, __actual) \
 do \
 { \
-  void(libtest::_compare(__FILE__, __LINE__, __func__, (__expected), (__actual))); \
+  void(libtest::_compare(__FILE__, __LINE__, __func__, (__expected), (__actual)), true); \
 } while (0)
 
 #define test_compare_warn_hint(__expected, __actual, __hint) \
@@ -190,9 +210,10 @@ do \
 #define test_strcmp(A,B) \
 do \
 { \
-  if (strcmp((A), (B))) \
+  if ((A) == NULL or (B) == NULL or strcmp((A), (B))) \
   { \
-    fprintf(stderr, "\n%s:%d: Expected %s, got %s\n", __FILE__, __LINE__, (A), (B)); \
+    if ((B) == NULL) fprintf(stderr, "\n%s:%d: Expected %s, got <null>\n", __FILE__, __LINE__, (A)); \
+    else fprintf(stderr, "\n%s:%d: Expected %s, got \"%s\"\n", __FILE__, __LINE__, (A), (B)); \
     libtest::create_core(); \
     return TEST_FAILURE; \
   } \
@@ -201,7 +222,7 @@ do \
 #define test_memcmp(A,B,C) \
 do \
 { \
-  if (memcmp((A), (B), (C))) \
+  if ((A) == NULL or (B) == NULL or memcmp((A), (B), (C))) \
   { \
     fprintf(stderr, "\n%s:%d: %.*s -> %.*s\n", __FILE__, __LINE__, (int)(C), (char *)(A), (int)(C), (char *)(B)); \
     libtest::create_core(); \
@@ -209,6 +230,17 @@ do \
   } \
 } while (0)
 
+#define test_memcmp_hint(A,B,C,__hint) \
+do \
+{ \
+  if ((A) == NULL or (B) == NULL or memcmp((A), (B), (C))) \
+  { \
+    fprintf(stderr, "\n%s:%d: (hint:%s) %.*s -> %.*s\n", __FILE__, __LINE__, __hint, (int)(C), (char *)(A), (int)(C), (char *)(B)); \
+    libtest::create_core(); \
+    return TEST_FAILURE; \
+  } \
+} while (0)
+
 #define test_return_if(__test_return_t) \
 do \
 { \