Fix for valgrind issue around memcached_result_st not being free()
[m6w6/libmemcached] / libtest / comparison.hpp
index 2a00284fbddef1a881feaf475c013d02ae72ecc6..63bd08a2118eb5c8485e3a8fef5c6ab4ec2edc09 100644 (file)
@@ -86,6 +86,29 @@ bool _compare(const char *file, int line, const char *func, const T1_comparable&
   return true;
 }
 
+template <class T1_comparable, class T2_comparable>
+bool _compare_strcmp(const char *file, int line, const char *func, const T1_comparable& __expected, const T2_comparable& __actual)
+{
+  if (__expected == NULL)
+  {
+    fatal_message("Expected value was NULL, programmer error");
+  }
+
+  if (__actual == NULL)
+  {
+    libtest::stream::make_cerr(file, line, func) << "Expected " << __expected << " but got NULL";
+    return false;
+  }
+
+  if (strncmp(__expected, __actual, strlen(__expected)))
+  {
+    libtest::stream::make_cerr(file, line, func) << "Expected " << __expected << " passed \"" << __actual << "\"";
+    return false;
+  }
+
+  return true;
+}
+
 template <class T_comparable>
 bool _compare_zero(const char *file, int line, const char *func, T_comparable __actual)
 {