+/*
+ From Andrei on IRC
+*/
+
+test_return user_supplied_bug19(memcached_st *memc)
+{
+ memcached_st *m;
+ memcached_server_st *s;
+ memcached_return res;
+
+ (void)memc;
+
+ m= memcached_create(NULL);
+ memcached_server_add_with_weight(m, "localhost", 11311, 100);
+ memcached_server_add_with_weight(m, "localhost", 11312, 100);
+
+ s= memcached_server_by_key(m, "a", 1, &res);
+ memcached_server_free(s);
+
+ memcached_free(m);
+
+ return 0;
+}
+
+/* CAS test from Andei */
+test_return user_supplied_bug20(memcached_st *memc)
+{
+ memcached_return status;
+ memcached_result_st *result, result_obj;
+ char *key = "abc";
+ size_t key_len = strlen("abc");
+ char *value = "foobar";
+ size_t value_len = strlen(value);
+
+ memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, 1);
+
+ status = memcached_set(memc, key, key_len, value, value_len, (time_t)0, (uint32_t)0);
+ assert(status == MEMCACHED_SUCCESS);
+
+ status = memcached_mget(memc, &key, &key_len, 1);
+ assert(status == MEMCACHED_SUCCESS);
+
+ result= memcached_result_create(memc, &result_obj);
+ assert(result);
+
+ memcached_result_create(memc, &result_obj);
+ result= memcached_fetch_result(memc, &result_obj, &status);
+
+ assert(result);
+ assert(status == MEMCACHED_SUCCESS);
+
+ memcached_result_free(result);
+
+ return 0;
+}
+
+#include "ketama_test_cases.h"
+test_return user_supplied_bug18(memcached_st *trash)
+{
+ memcached_return rc;
+ int value;
+ int i;
+ memcached_server_st *server_pool;
+ memcached_st *memc;
+
+ (void)trash;
+
+ memc= memcached_create(NULL);
+ assert(memc);
+
+ rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED, 1);
+ assert(rc == MEMCACHED_SUCCESS);
+
+ value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED);
+ assert(value == 1);
+
+ rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA_HASH, MEMCACHED_HASH_MD5);
+ assert(rc == MEMCACHED_SUCCESS);