rc= memcached_set(memc, key, strlen(key),
value, strlen(value),
(time_t)0, (uint16_t)0);
+ WATCHPOINT_ERROR(rc);
assert(rc == MEMCACHED_SUCCESS);
return 0;
assert(!memcmp(value, "we the people", strlen("we the people")));
assert(strlen("we the people") == value_length);
assert(rc == MEMCACHED_SUCCESS);
+ free(value);
return 0;
}
store_ptr= (unsigned int *)value;
x= 0;
- while (*store_ptr)
+ while ((size_t)store_ptr < (size_t)(value + value_length))
{
assert(*store_ptr == store_list[x++]);
store_ptr++;
}
+ free(value);
return 0;
}
assert(!memcmp(value, "we the people", strlen("we the people")));
assert(strlen("we the people") == value_length);
assert(rc == MEMCACHED_SUCCESS);
+ free(value);
return 0;
}
return 0;
}
+/* Do not copy the style of this code, I just access hosts to testthis function */
uint8_t stats_servername_test(memcached_st *memc)
{
memcached_return rc;
memcached_stat_st stat;
rc= memcached_stat_servername(&stat, NULL,
- "localhost",
- MEMCACHED_DEFAULT_PORT);
+ memc->hosts[0].hostname,
+ memc->hosts[0].port);
return 0;
}
{
assert(results);
}
+
while ((results= memcached_fetch_result(memc, &results_obj, &rc)) != NULL)
assert(!results);
assert(rc == MEMCACHED_NOTFOUND);
for (x= 0; x < memcached_server_count(memc); x++)
{
- list= memcached_stat_get_keys(memc, &stat[x], &rc);
+ list= memcached_stat_get_keys(memc, stat+x, &rc);
assert(rc == MEMCACHED_SUCCESS);
- for (ptr= list; *ptr; ptr++)
- printf("Found key %s\n", *ptr);
+ for (ptr= list; *ptr; ptr++);
free(list);
}
return 0;
}
+uint8_t user_supplied_bug8(memcached_st *memc)
+{
+ memcached_return rc;
+ memcached_st *mine;
+ memcached_st *clone;
+
+ memcached_server_st *servers;
+ char *server_list= "memcache1.memcache.bk.sapo.pt:11211, memcache1.memcache.bk.sapo.pt:11212, memcache1.memcache.bk.sapo.pt:11213, memcache1.memcache.bk.sapo.pt:11214, memcache2.memcache.bk.sapo.pt:11211, memcache2.memcache.bk.sapo.pt:11212, memcache2.memcache.bk.sapo.pt:11213, memcache2.memcache.bk.sapo.pt:11214";
+
+ servers= memcached_servers_parse(server_list);
+ assert(servers);
+
+ mine= memcached_create(NULL);
+ rc= memcached_server_push(mine, servers);
+ assert(rc == MEMCACHED_SUCCESS);
+ memcached_server_list_free(servers);
+
+ assert(mine);
+ clone= memcached_clone(NULL, mine);
+
+ memcached_quit(mine);
+ memcached_quit(clone);
+
+
+ memcached_free(mine);
+ memcached_free(clone);
+
+ return 0;
+}
+
/* Test flag store/retrieve */
uint8_t user_supplied_bug7(memcached_st *memc)
{
return 0;
}
+uint8_t cleanup_pairs(memcached_st *memc)
+{
+ pairs_free(global_pairs);
+
+ return 0;
+}
+
uint8_t generate_data(memcached_st *memc)
{
unsigned long long x;
return MEMCACHED_SUCCESS;
}
+memcached_return pre_hsieh(memcached_st *memc)
+{
+ memcached_hash value= MEMCACHED_HASH_HSIEH;
+ memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value);
+
+ return MEMCACHED_SUCCESS;
+}
+
memcached_return pre_hash_fnv1_64(memcached_st *memc)
{
memcached_hash value= MEMCACHED_HASH_FNV1_64;
{"user_supplied_bug5", 1, user_supplied_bug5 },
{"user_supplied_bug6", 1, user_supplied_bug6 },
{"user_supplied_bug7", 1, user_supplied_bug7 },
+ {"user_supplied_bug8", 1, user_supplied_bug8 },
{0, 0, 0}
};
{"get_read", 0, get_read },
{"mget_read", 0, mget_read },
{"mget_read_result", 0, mget_read_result },
+ {"cleanup", 0, cleanup_pairs },
{0, 0, 0}
};
{"nodelay", pre_nodelay, 0, tests},
{"md5", pre_md5, 0, tests},
{"crc", pre_crc, 0, tests},
+ {"hsieh", pre_hsieh, 0, tests},
{"fnv1_64", pre_hash_fnv1_64, 0, tests},
{"fnv1a_64", pre_hash_fnv1a_64, 0, tests},
{"fnv1_32", pre_hash_fnv1_32, 0, tests},
{"result", 0, 0, result_tests},
{"user", 0, 0, user_tests},
{"generate", 0, 0, generate_tests},
+ {"generate_hsieh", pre_hsieh, 0, generate_tests},
{"generate_nonblock", pre_nonblock, 0, generate_tests},
{0, 0, 0, 0}
};