tests/hashkit: fix tests doing nothing
[awesomized/libmemcached] / tests / hashkit_functions.cc
index 4934b55b45c018aba451b8a37058624172ee0fd0..3301c7a1e4b0d9a8eee794f155a9cdab58384fd4 100644 (file)
@@ -35,7 +35,7 @@
  *
  */
 
-#include <config.h>
+#include <mem_config.h>
 #include <libtest/test.hpp>
 
 using namespace libtest;
@@ -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));
@@ -326,7 +347,12 @@ static test_return_t hashkit_set_function_test(hashkit_st *hashk)
     const char **ptr;
     uint32_t *list;
 
-    test_skip(true, libhashkit_has_algorithm(static_cast<hashkit_hash_algorithm_t>(algo)));
+    if (HASHKIT_HASH_CUSTOM == algo) {
+      continue;
+    }
+    if (!libhashkit_has_algorithm(static_cast<hashkit_hash_algorithm_t>(algo))) {
+      continue;
+    }
 
     hashkit_return_t rc= hashkit_set_function(hashk, static_cast<hashkit_hash_algorithm_t>(algo));
 
@@ -452,7 +478,7 @@ static test_return_t hashkit_get_function_test(hashkit_st *hashk)
   for (int algo= int(HASHKIT_HASH_DEFAULT); algo < int(HASHKIT_HASH_MAX); algo++)
   {
 
-    if (HASHKIT_HASH_CUSTOM)
+    if (HASHKIT_HASH_CUSTOM == algo)
     {
       continue;
     }
@@ -509,6 +535,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,7 +589,7 @@ 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);