*
*/
-#include <config.h>
+#include <mem_config.h>
#include <libtest/test.hpp>
using namespace libtest;
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));
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));
list= murmur_values;
break;
+ case HASHKIT_HASH_MURMUR3:
+ list= murmur3_values;
+ break;
+
case HASHKIT_HASH_JENKINS:
list= jenkins_values;
break;
}
else
{
- return TEST_FAILURE;
+ test_fail("Unknown algorithm");
}
}
for (int algo= int(HASHKIT_HASH_DEFAULT); algo < int(HASHKIT_HASH_MAX); algo++)
{
- if (HASHKIT_HASH_CUSTOM)
+ if (HASHKIT_HASH_CUSTOM == algo)
{
continue;
}
{"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}
};
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);
}