Rollup merge.
[m6w6/libmemcached] / tests / hashkit_functions.c
index 1d548f4abeaa29c78d79a24757d67ac57d5927db..46f53934d7d48fc71ff9f646847c1370aa5ef7ed 100644 (file)
@@ -6,6 +6,8 @@
  * the COPYING file in the parent directory for full text.
  */
 
+#include "config.h"
+
 #include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -248,7 +250,7 @@ static test_return_t hsieh_run (hashkit_st *hashk __attribute__((unused)))
 
 static test_return_t murmur_run (hashkit_st *hashk __attribute__((unused)))
 {
-#ifdef __sparc
+#ifdef WORDS_BIGENDIAN
   return TEST_SKIPPED;
 #else
   uint32_t x;
@@ -361,16 +363,23 @@ static test_return_t hashkit_set_function_test(hashkit_st *hashk)
     case HASHKIT_HASH_MAX:
     default:
       list= NULL;
-      test_fail("We ended up on a non-existent hash");
+      break;
     }
 
     // Now we make sure we did set the hash correctly.
-    for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
+    if (list)
     {
-      uint32_t hash_val;
+      for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
+      {
+        uint32_t hash_val;
 
-      hash_val= hashkit_digest(hashk, *ptr, strlen(*ptr));
-      test_true(list[x] == hash_val);
+        hash_val= hashkit_digest(hashk, *ptr, strlen(*ptr));
+        test_true(list[x] == hash_val);
+      }
+    }
+    else
+    {
+      return TEST_FAILURE;
     }
   }
 
@@ -460,6 +469,7 @@ static test_return_t hashkit_compare_test(hashkit_st *hashk)
   clone= hashkit_clone(NULL, hashk);
 
   test_true(hashkit_compare(clone, hashk));
+  hashkit_free(clone);
 
   return TEST_SUCCESS;
 }