X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Flibmemcached-1.0%2Fserver_add.cc;h=3b42e980b6bd9c5c30a07413b6f9d96bb76cc852;hb=98d5409844f19be0bad36c768ff3d8b000d8167b;hp=8fd717c6a02852aee79a77c670768a5cf9dc9cd4;hpb=8cf5f36e16ecaf6e1e7622a3a7cad81491602b0d;p=awesomized%2Flibmemcached diff --git a/tests/libmemcached-1.0/server_add.cc b/tests/libmemcached-1.0/server_add.cc index 8fd717c6..3b42e980 100644 --- a/tests/libmemcached-1.0/server_add.cc +++ b/tests/libmemcached-1.0/server_add.cc @@ -35,33 +35,84 @@ * */ -#include -#include +#include "mem_config.h" +#include "libtest/yatl.h" + +#include using namespace libtest; -#include +#include "libmemcached-1.0/memcached.h" -#include +#include "tests/server_add.h" -test_return_t memcached_server_add_null_test(memcached_st*) +static std::string random_hostname() { - memcached_st *memc= memcached_create(NULL); + libtest::vchar_t hostname; + libtest::vchar::make(hostname, 23); + libtest::vchar::append(hostname, ".com"); - test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, NULL, 0)); + return std::string(&hostname[0]); +} - memcached_free(memc); +test_return_t memcached_server_add_null_test(memcached_st* memc) +{ + ASSERT_EQ(0, memcached_server_count(memc)); + + test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, NULL, 0)); return TEST_SUCCESS; } -test_return_t memcached_server_add_empty_test(memcached_st*) +test_return_t memcached_server_add_empty_test(memcached_st* memc) { - memcached_st *memc= memcached_create(NULL); + ASSERT_EQ(0, memcached_server_count(memc)); test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, "", 0)); - memcached_free(memc); + return TEST_SUCCESS; +} + +test_return_t memcached_server_many_TEST(memcached_st* memc) +{ + ASSERT_EQ(0, memcached_server_count(memc)); + + in_port_t base_port= 5555; + for (in_port_t x= 0; x < 100; ++x) + { + std::string hostname(random_hostname()); + ASSERT_TRUE(hostname.size()); + test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, hostname.c_str(), base_port +x)); + } + + return TEST_SUCCESS; +} + +test_return_t memcached_server_many_weighted_TEST(memcached_st* memc) +{ + ASSERT_EQ(0, memcached_server_count(memc)); + + in_port_t base_port= 5555; + for (in_port_t x= 0; x < 100; ++x) + { + std::string hostname(random_hostname()); + ASSERT_TRUE(hostname.size()); + test_compare(MEMCACHED_SUCCESS, memcached_server_add_with_weight(memc, hostname.c_str(), base_port +x, x % 10)); + } return TEST_SUCCESS; } + +test_return_t memcached_servers_reset_test(memcached_st* memc) +{ + ASSERT_EQ(0, memcached_server_count(memc)); + + test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, "localhost", 11511)); + + memcached_servers_reset(memc); + + test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, "localhost", 11511)); + + return TEST_SUCCESS; +} +