+test_return_t regression_bug_1251482(memcached_st*)
+{
+ test::Memc memc("--server=localhost:5");
+
+ memcached_behavior_set(&memc, MEMCACHED_BEHAVIOR_RETRY_TIMEOUT, 0);
+
+ for (size_t x= 4; x; --x)
+ {
+ size_t value_length;
+ memcached_return_t rc;
+ char *value= memcached_get(&memc,
+ test_literal_param(__func__),
+ &value_length, NULL, &rc);
+
+ test_false(value);
+ test_compare(0LLU, value_length);
+ test_compare(MEMCACHED_CONNECTION_FAILURE, rc);
+ }
+
+ return TEST_SUCCESS;
+}
+
+test_return_t regression_1009493_TEST(memcached_st*)
+{
+ memcached_st* memc= memcached_create(NULL);
+ test_true(memc);
+ test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA, true));
+
+ memcached_st* clone= memcached_clone(NULL, memc);
+ test_true(clone);
+
+ test_compare(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED),
+ memcached_behavior_get(clone, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED));
+
+ memcached_free(memc);
+ memcached_free(clone);
+
+ return TEST_SUCCESS;
+}
+
+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);
+
+ char* take_value= memcached_result_take_value(results);
+ test_strcmp(__func__, take_value);
+ free(take_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;
+}