X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Flibmemcached-1.0%2Fmem_functions.cc;h=cb4666c3153b05fe4cf366ce77c39d1f8941881a;hb=90407b100f20ef337298b6750e1b42805661f83b;hp=e6c82a1d0eef30fa57b65273b584504b93f46ceb;hpb=7e82821d8a754c19d7e9e8e2baa767dd7f92286d;p=m6w6%2Flibmemcached diff --git a/tests/libmemcached-1.0/mem_functions.cc b/tests/libmemcached-1.0/mem_functions.cc index e6c82a1d..cb4666c3 100644 --- a/tests/libmemcached-1.0/mem_functions.cc +++ b/tests/libmemcached-1.0/mem_functions.cc @@ -1026,12 +1026,11 @@ test_return_t bad_key_test(memcached_st *memc) } #define READ_THROUGH_VALUE "set for me" -static memcached_return_t read_through_trigger(memcached_st *memc, - char *key, - size_t key_length, +static memcached_return_t read_through_trigger(memcached_st *, // memc + char *, // key + size_t, // key_length, memcached_result_st *result) { - (void)memc;(void)key;(void)key_length; return memcached_result_set_value(result, READ_THROUGH_VALUE, strlen(READ_THROUGH_VALUE)); } @@ -1062,8 +1061,8 @@ test_return_t read_through(memcached_st *memc) &string_length, &flags, &rc); test_compare(MEMCACHED_SUCCESS, rc); - test_compare(string_length, sizeof(READ_THROUGH_VALUE) -1); - test_true(string[sizeof(READ_THROUGH_VALUE) -1] == 0); + test_compare(sizeof(READ_THROUGH_VALUE) -1, string_length); + test_compare(0, string[sizeof(READ_THROUGH_VALUE) -1]); test_strcmp(READ_THROUGH_VALUE, string); free(string); @@ -4590,6 +4589,48 @@ test_return_t regression_bug_490520(memcached_st *original_memc) } +test_return_t regression_994772_TEST(memcached_st* memc) +{ + test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1)); + + test_compare(MEMCACHED_SUCCESS, + memcached_set(memc, + test_literal_param(__func__), // Key + test_literal_param(__func__), // Value + time_t(0), uint32_t(0))); + + const char *keys[] = { __func__ }; + size_t key_length[]= { strlen(__func__) }; + test_compare(MEMCACHED_SUCCESS, + memcached_mget(memc, keys, key_length, 1)); + + memcached_return_t rc; + memcached_result_st *results= memcached_fetch_result(memc, NULL, &rc); + test_true(results); + test_compare(MEMCACHED_SUCCESS, rc); + + test_strcmp(__func__, memcached_result_value(results)); + uint64_t cas_value= memcached_result_cas(results); + test_true(cas_value); + + memcached_result_free(results); + + // Bad cas value, sanity check + test_true(cas_value != 9999); + test_compare(MEMCACHED_END, + memcached_cas(memc, + test_literal_param(__func__), // Key + test_literal_param(__FILE__), // Value + time_t(0), uint32_t(0), 9999)); + + test_compare(MEMCACHED_SUCCESS, memcached_set(memc, + "different", strlen("different"), // Key + test_literal_param(__FILE__), // Value + time_t(0), uint32_t(0))); + + return TEST_SUCCESS; +} + test_return_t regression_bug_854604(memcached_st *) { char buffer[1024]; @@ -4610,7 +4651,7 @@ test_return_t regression_bug_854604(memcached_st *) return TEST_SUCCESS; } -static void memcached_die(memcached_st* mc, memcached_return error, const char* what, uint32_t it) +static void die_message(memcached_st* mc, memcached_return error, const char* what, uint32_t it) { fprintf(stderr, "Iteration #%u: ", it); @@ -4646,19 +4687,19 @@ test_return_t regression_bug_(memcached_st *memc) rc= memcached_behavior_set(mc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1); if (rc != MEMCACHED_SUCCESS) { - memcached_die(mc, rc, "memcached_behavior_set", x); + die_message(mc, rc, "memcached_behavior_set", x); } rc= memcached_behavior_set(mc, MEMCACHED_BEHAVIOR_CACHE_LOOKUPS, 1); if (rc != MEMCACHED_SUCCESS) { - memcached_die(mc, rc, "memcached_behavior_set", x); + die_message(mc, rc, "memcached_behavior_set", x); } rc= memcached_server_add(mc, remote_server, 0); if (rc != MEMCACHED_SUCCESS) { - memcached_die(mc, rc, "memcached_server_add", x); + die_message(mc, rc, "memcached_server_add", x); } const char *set_key= "akey"; @@ -4678,7 +4719,7 @@ test_return_t regression_bug_(memcached_st *memc) &get_value_flags, &rc); if (rc != MEMCACHED_SUCCESS) { - memcached_die(mc, rc, "memcached_get", x); + die_message(mc, rc, "memcached_get", x); } else { @@ -4702,7 +4743,7 @@ test_return_t regression_bug_(memcached_st *memc) ); if (rc != MEMCACHED_SUCCESS) { - memcached_die(mc, rc, "memcached_set", x); + die_message(mc, rc, "memcached_set", x); } }