X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Flibmemcached-1.0%2Fserver_add.cc;h=3b42e980b6bd9c5c30a07413b6f9d96bb76cc852;hb=98d5409844f19be0bad36c768ff3d8b000d8167b;hp=6539df064afd7b361bef35bf58135771a8df6437;hpb=23dca174eef8d846e3d4402729b57f6ded035e64;p=awesomized%2Flibmemcached diff --git a/tests/libmemcached-1.0/server_add.cc b/tests/libmemcached-1.0/server_add.cc index 6539df06..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; +} +