static test_return_t clone_test(hashkit_st *hashk) { // First we make sure that the testing system is giving us what we expect. assert(&global_hashk == hashk); // Second we test if hashk is even valid /* All null? */ { hashkit_st *hashk_ptr; hashk_ptr= hashkit_clone(NULL, NULL); test_true(hashk_ptr); test_true(hashkit_is_allocated(hashk_ptr)); hashkit_free(hashk_ptr); } /* Can we init from null? */ { hashkit_st *hashk_ptr; hashk_ptr= hashkit_clone(NULL, hashk); test_true(hashk_ptr); test_true(hashkit_is_allocated(hashk_ptr)); hashkit_free(hashk_ptr); } /* Can we init from struct? */ { hashkit_st declared_clone; hashkit_st *hash_clone; hash_clone= hashkit_clone(&declared_clone, NULL); test_true(hash_clone); test_true(hash_clone == &declared_clone); test_false(hashkit_is_allocated(hash_clone)); hashkit_free(hash_clone); } /* Can we init from struct? */ { hashkit_st declared_clone; hashkit_st *hash_clone; hash_clone= hashkit_clone(&declared_clone, hashk); test_true(hash_clone); test_true(hash_clone == &declared_clone); test_false(hashkit_is_allocated(hash_clone)); hashkit_free(hash_clone); } return TEST_SUCCESS; }
memcached_return_t memcached_set_hashkit(memcached_st *self, hashkit_st *hashk) { hashkit_free(&self->hashkit); hashkit_clone(&self->hashkit, hashk); return MEMCACHED_SUCCESS; }
Hashkit& operator=(const Hashkit& source) { hashkit_free(&self); hashkit_clone(&self, &source.self); return *this; }
test_return_t world_destroy(hashkit_st *hashk) { // Did we get back what we expected? assert(hashkit_is_allocated(hashk) == false); hashkit_free(&global_hashk); return TEST_SUCCESS; }
static test_return_t hashkit_compare_test(hashkit_st *hashk) { hashkit_st *clone; clone= hashkit_clone(NULL, hashk); test_true(hashkit_compare(clone, hashk)); hashkit_free(clone); return TEST_SUCCESS; }
static test_return_t allocation_test(void *not_used) { hashkit_st *hashk_ptr; (void)not_used; hashk_ptr= hashkit_create(NULL); test_true(hashk_ptr); test_true(hashkit_is_allocated(hashk_ptr) == true); hashkit_free(hashk_ptr); return TEST_SUCCESS; }
static test_return_t init_test(void *not_used) { hashkit_st hashk; hashkit_st *hashk_ptr; (void)not_used; hashk_ptr= hashkit_create(&hashk); test_true(hashk_ptr); test_true(hashk_ptr == &hashk); test_true(hashkit_is_allocated(hashk_ptr) == false); hashkit_free(hashk_ptr); return TEST_SUCCESS; }
~Hashkit() { hashkit_free(&self); }