#include <libmemcached/util.h>
+#include "tests/print.h"
#include "tests/libmemcached-1.0/setup_and_teardowns.h"
#include <sys/stat.h>
+using namespace libtest;
+
+memcached_return_t return_value_based_on_buffering(memcached_st *memc)
+{
+ if (memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS))
+ {
+ return MEMCACHED_BUFFERED;
+ }
+
+ return MEMCACHED_SUCCESS;
+}
+
/**
@note This should be testing to see if the server really supports the binary protocol.
*/
test_return_t pre_binary(memcached_st *memc)
{
+ test_true(memcached_server_count(memc) > 0);
test_skip(true, libmemcached_util_version_check(memc, 1, 4, 4));
test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, true));
return TEST_SUCCESS;
}
+test_return_t pre_buffer(memcached_st *memc)
+{
+ test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, true));
+
+ return TEST_SUCCESS;
+}
+
test_return_t pre_unix_socket(memcached_st *memc)
{
struct stat buf;
test_return_t pre_behavior_ketama(memcached_st *memc)
{
- memcached_return_t rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA, 1);
- test_compare(MEMCACHED_SUCCESS, rc);
+ test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA, 1));
- uint64_t value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA);
- test_compare(value, uint64_t(1));
+ test_compare(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA), uint64_t(1));
return TEST_SUCCESS;
}
test_return_t pre_behavior_ketama_weighted(memcached_st *memc)
{
- memcached_return_t rc= memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED, 1);
- test_compare(MEMCACHED_SUCCESS, rc);
+ test_compare(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED, true), MEMCACHED_SUCCESS);
- uint64_t value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED);
- test_compare(value, uint64_t(1));
+ test_compare(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED), uint64_t(1));
- test_compare(MEMCACHED_SUCCESS,
- memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA_HASH, MEMCACHED_HASH_MD5));
+ test_compare(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_KETAMA_HASH, MEMCACHED_HASH_MD5), MEMCACHED_SUCCESS);
- value= memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA_HASH);
- test_compare(MEMCACHED_HASH_MD5, memcached_hash_t(value));
+ test_compare(memcached_hash_t(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_KETAMA_HASH)), MEMCACHED_HASH_MD5);
return TEST_SUCCESS;
}
return TEST_SUCCESS;
}
-test_return_t pre_cork(memcached_st *memc)
-{
-#ifdef __APPLE__
- return TEST_SKIPPED;
-#endif
- bool set= true;
- if (memcached_success(memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_CORK, set)))
- return TEST_SUCCESS;
-
- return TEST_SKIPPED;
-}
-
-test_return_t pre_cork_and_nonblock(memcached_st *memc)
-{
-#ifdef __APPLE__
- return TEST_SKIPPED;
-#endif
- test_return_t test_rc;
- if ((test_rc= pre_cork(memc)) != TEST_SUCCESS)
- return test_rc;
-
- return pre_nonblock(memc);
-}
-
test_return_t pre_nonblock_binary(memcached_st *memc)
{
memcached_st *memc_clone= memcached_clone(NULL, memc);