Add support for murmur3
[m6w6/libmemcached] / tests / hashkit_functions.cc
index 2d664e7c64e3fb629c07608b15547ee9473b2659..9def30259865b83aa80a4c65815e7ffab9601c51 100644 (file)
  *
  */
 
-#include <config.h>
+#include <mem_config.h>
 #include <libtest/test.hpp>
 
 using namespace libtest;
 
-#include <cassert>
 #include <cstdio>
 #include <cstdlib>
 #include <cstring>
 
-#include <libhashkit/hashkit.h>
+#include <libhashkit-1.0/hashkit.h>
+#include <libhashkit/is.h>
 
-#include "hash_results.h"
+#include "tests/hash_results.h"
 
 static hashkit_st global_hashk;
 
@@ -262,6 +262,27 @@ static test_return_t hsieh_run (hashkit_st *)
   return TEST_SUCCESS;
 }
 
+static test_return_t murmur3_TEST(hashkit_st *)
+{
+  test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_MURMUR3));
+
+#ifdef WORDS_BIGENDIAN
+  (void)murmur3_values;
+  return TEST_SKIPPED;
+#else
+  uint32_t x;
+  const char **ptr;
+
+  for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
+  {
+    test_compare(murmur3_values[x],
+                 libhashkit_murmur3(*ptr, strlen(*ptr)));
+  }
+
+  return TEST_SUCCESS;
+#endif
+}
+
 static test_return_t murmur_run (hashkit_st *)
 {
   test_skip(true, libhashkit_has_algorithm(HASHKIT_HASH_MURMUR));
@@ -509,6 +530,7 @@ test_st hash_tests[] ={
   {"fnv1a_32", 0, (test_callback_fn*)fnv1a_32_run },
   {"hsieh", 0, (test_callback_fn*)hsieh_run },
   {"murmur", 0, (test_callback_fn*)murmur_run },
+  {"murmur3", 0, (test_callback_fn*)murmur3_TEST },
   {"jenkis", 0, (test_callback_fn*)jenkins_run },
   {0, 0, (test_callback_fn*)0}
 };
@@ -562,9 +584,9 @@ static bool world_destroy(void *object)
   return TEST_SUCCESS;
 }
 
-void get_world(Framework *world)
+void get_world(libtest::Framework* world)
 {
-  world->collections= collection;
-  world->_create= world_create;
-  world->_destroy= world_destroy;
+  world->collections(collection);
+  world->create(world_create);
+  world->destroy(world_destroy);
 }