X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Ffunction.c;h=2258757d646981c1d9dc537b29ef0f37f09ac447;hb=51aa1233e4981967f06dd3432cd3a6ed83a35607;hp=7c61db786eaf584ddeffe022833187ceccdc2080;hpb=8a86b578acc594d37a8638e3e0afba1286c4b6ca;p=m6w6%2Flibmemcached diff --git a/tests/function.c b/tests/function.c index 7c61db78..2258757d 100644 --- a/tests/function.c +++ b/tests/function.c @@ -63,12 +63,10 @@ uint8_t server_list_null_test(memcached_st *ptr) uint8_t server_sort_test(memcached_st *ptr) { - unsigned int setting; memcached_server_st *server_list; memcached_return rc; - setting= 1; - memcached_behavior_set(ptr, MEMCACHED_BEHAVIOR_SORT_HOSTS, &setting); + memcached_behavior_set(ptr, MEMCACHED_BEHAVIOR_SORT_HOSTS, 1); server_list= memcached_server_list_append(NULL, "arg", 0, &rc); assert(server_list); @@ -269,7 +267,7 @@ uint8_t cas2_test(memcached_st *memc) rc= memcached_flush(memc, 0); assert(rc == MEMCACHED_SUCCESS); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, set); for (x= 0; x < 3; x++) { @@ -312,7 +310,7 @@ uint8_t cas_test(memcached_st *memc) rc= memcached_flush(memc, 0); assert(rc == MEMCACHED_SUCCESS); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, set); rc= memcached_set(memc, key, strlen(key), value, strlen(value), @@ -332,6 +330,19 @@ uint8_t cas_test(memcached_st *memc) assert(strlen("we the people") == value_length); assert(rc == MEMCACHED_SUCCESS); + rc= memcached_cas(memc, key, key_length, + "change the value", strlen("change the value"), + 0, 0, memcached_result_cas(results)); + + assert(rc == MEMCACHED_SUCCESS); + + rc= memcached_cas(memc, key, key_length, + "change the value", strlen("change the value"), + 0, 0, 23); + + assert(rc == MEMCACHED_DATA_EXISTS); + + memcached_result_free(&results_obj); return 0; @@ -461,6 +472,24 @@ uint8_t flush_test(memcached_st *memc) return 0; } +memcached_return server_function(memcached_st *ptr, memcached_server_st *server, void *context) +{ + /* Do Nothing */ + + return MEMCACHED_SUCCESS; +} + +uint8_t memcached_server_cursor_test(memcached_st *memc) +{ + char *context= "foo bad"; + memcached_server_function callbacks[1]; + + callbacks[0]= server_function; + memcached_server_cursor(memc, callbacks, context, 1); + + return 0; +} + uint8_t bad_key_test(memcached_st *memc) { memcached_return rc; @@ -474,7 +503,7 @@ uint8_t bad_key_test(memcached_st *memc) clone= memcached_clone(NULL, memc); assert(clone); - (void)memcached_behavior_set(clone, MEMCACHED_BEHAVIOR_VERIFY_KEY, &set); + (void)memcached_behavior_set(clone, MEMCACHED_BEHAVIOR_VERIFY_KEY, set); string= memcached_get(clone, key, strlen(key), &string_length, &flags, &rc); @@ -483,7 +512,7 @@ uint8_t bad_key_test(memcached_st *memc) assert(!string); set= 0; - (void)memcached_behavior_set(clone, MEMCACHED_BEHAVIOR_VERIFY_KEY, &set); + (void)memcached_behavior_set(clone, MEMCACHED_BEHAVIOR_VERIFY_KEY, set); string= memcached_get(clone, key, strlen(key), &string_length, &flags, &rc); assert(rc == MEMCACHED_NOTFOUND); @@ -870,7 +899,7 @@ uint8_t mget_result_function(memcached_st *memc) size_t key_length[]= {5, 3, 4}; unsigned int x; unsigned int counter; - unsigned int (*callbacks[1])(memcached_st *, memcached_result_st *, void *); + memcached_execute_function callbacks[1]; /* We need to empty the server before continueing test */ rc= memcached_flush(memc, 0); @@ -1093,36 +1122,36 @@ uint8_t behavior_test(memcached_st *memc) unsigned long long value; unsigned int set= 1; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, set); value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NO_BLOCK); assert(value == 1); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, set); value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY); assert(value == 1); set= MEMCACHED_HASH_MD5; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, set); value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_HASH); assert(value == MEMCACHED_HASH_MD5); set= 0; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, set); value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NO_BLOCK); assert(value == 0); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, set); value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY); assert(value == 0); set= MEMCACHED_HASH_DEFAULT; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, set); value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_HASH); assert(value == MEMCACHED_HASH_DEFAULT); set= MEMCACHED_HASH_CRC; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, set); value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_HASH); assert(value == MEMCACHED_HASH_CRC); @@ -1152,8 +1181,8 @@ uint8_t user_supplied_bug1(memcached_st *memc) /* We just keep looking at the same values over and over */ srandom(10); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, &setter); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, setter); /* add key */ @@ -1191,13 +1220,13 @@ uint8_t user_supplied_bug2(memcached_st *memc) unsigned long long total; setter= 1; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, &setter); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, setter); #ifdef NOT_YET setter = 20 * 1024576; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE, setter); setter = 20 * 1024576; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE, setter); getter = memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE); getter = memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE); @@ -1248,13 +1277,13 @@ uint8_t user_supplied_bug3(memcached_st *memc) size_t key_lengths[KEY_COUNT]; setter= 1; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, &setter); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, setter); #ifdef NOT_YET setter = 20 * 1024576; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE, setter); setter = 20 * 1024576; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE, setter); getter = memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE); getter = memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE); #endif @@ -1617,10 +1646,10 @@ uint8_t user_supplied_bug10(memcached_st *memc) memcached_st *mclone= memcached_clone(NULL, memc); int32_t timeout; - memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_NO_BLOCK, &set); - memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_TCP_NODELAY, &set); + memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_NO_BLOCK, set); + memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_TCP_NODELAY, set); timeout= 2; - memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, &timeout); + memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, timeout); value = (char*)malloc(value_length * sizeof(char)); @@ -1658,10 +1687,10 @@ uint8_t user_supplied_bug11(memcached_st *memc) int32_t timeout; memcached_st *mclone= memcached_clone(NULL, memc); - memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_NO_BLOCK, &set); - memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_TCP_NODELAY, &set); + memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_NO_BLOCK, set); + memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_TCP_NODELAY, set); timeout= -1; - memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, &timeout); + memcached_behavior_set(mclone, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, timeout); timeout= (int32_t)memcached_behavior_get(mclone, MEMCACHED_BEHAVIOR_POLL_TIMEOUT); @@ -1766,7 +1795,7 @@ uint8_t user_supplied_bug13(memcached_st *memc) uint8_t user_supplied_bug14(memcached_st *memc) { int setter= 1; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, &setter); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, setter); memcached_return rc; char *key= "foo"; char *value; @@ -1783,7 +1812,7 @@ uint8_t user_supplied_bug14(memcached_st *memc) for (x= 0; x < value_length; x++) value[x] = (char) (x % 127); - for (current_length= 1; current_length < value_length; current_length++) + for (current_length= 0; current_length < value_length; current_length++) { rc= memcached_set(memc, key, strlen(key), value, current_length, @@ -1972,7 +2001,7 @@ uint8_t generate_buffer_data(memcached_st *memc) int latch= 0; latch= 1; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, &latch); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, latch); generate_data(memc); return 0; @@ -2089,7 +2118,7 @@ uint8_t delete_buffer_generate(memcached_st *memc) unsigned int x; latch= 1; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, &latch); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, latch); for (x= 0; x < global_count; x++) { @@ -2140,7 +2169,7 @@ uint8_t add_host_test1(memcached_st *memc) memcached_return pre_nonblock(memcached_st *memc) { - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, NULL); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, 0); return MEMCACHED_SUCCESS; } @@ -2148,7 +2177,7 @@ memcached_return pre_nonblock(memcached_st *memc) memcached_return pre_md5(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_MD5; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2156,7 +2185,7 @@ memcached_return pre_md5(memcached_st *memc) memcached_return pre_crc(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_CRC; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2164,7 +2193,7 @@ memcached_return pre_crc(memcached_st *memc) memcached_return pre_hsieh(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_HSIEH; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2172,7 +2201,7 @@ memcached_return pre_hsieh(memcached_st *memc) memcached_return pre_hash_fnv1_64(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_FNV1_64; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2180,7 +2209,7 @@ memcached_return pre_hash_fnv1_64(memcached_st *memc) memcached_return pre_hash_fnv1a_64(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_FNV1A_64; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2188,7 +2217,7 @@ memcached_return pre_hash_fnv1a_64(memcached_st *memc) memcached_return pre_hash_fnv1_32(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_FNV1_32; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2196,7 +2225,7 @@ memcached_return pre_hash_fnv1_32(memcached_st *memc) memcached_return pre_hash_fnv1a_32(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_FNV1A_32; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2204,7 +2233,7 @@ memcached_return pre_hash_fnv1a_32(memcached_st *memc) memcached_return pre_hash_ketama(memcached_st *memc) { memcached_hash value= MEMCACHED_HASH_KETAMA; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_HASH, value); return MEMCACHED_SUCCESS; } @@ -2266,7 +2295,7 @@ memcached_return enable_consistent(memcached_st *memc) { memcached_server_distribution value= MEMCACHED_DISTRIBUTION_CONSISTENT; memcached_hash hash; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, &value); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, value); pre_hsieh(memc); value= (memcached_server_distribution)memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_DISTRIBUTION); @@ -2289,7 +2318,7 @@ memcached_return enable_cas(memcached_st *memc) memc->hosts[0].minor_version >= 2 && memc->hosts[0].micro_version >= 4) { - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, &set); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, set); return MEMCACHED_SUCCESS; } @@ -2344,8 +2373,8 @@ memcached_return pre_udp(memcached_st *memc) memcached_return pre_nodelay(memcached_st *memc) { - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, NULL); - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, NULL); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, 0); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, 0); return MEMCACHED_SUCCESS; } @@ -2356,7 +2385,7 @@ memcached_return poll_timeout(memcached_st *memc) timeout= 100; - memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, &timeout); + memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, timeout); timeout= (int32_t)memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT); @@ -2400,6 +2429,7 @@ test_st tests[] ={ {"callback_test", 0, get_stats_keys }, {"version_string_test", 0, version_string_test}, {"bad_key", 1, bad_key_test }, + {"memcached_server_cursor", 1, memcached_server_cursor_test }, {0, 0, 0} };