X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Flibmemcached-1.0%2Fserver_add.cc;h=495a7717152661c02c6f57f28f3e3f8adabc915f;hb=17690735658d7b44f91579df91e31da9ae185158;hp=6539df064afd7b361bef35bf58135771a8df6437;hpb=381d409b224ca3b4510e770a98bc960084cdf2c4;p=awesomized%2Flibmemcached diff --git a/tests/libmemcached-1.0/server_add.cc b/tests/libmemcached-1.0/server_add.cc index 6539df06..495a7717 100644 --- a/tests/libmemcached-1.0/server_add.cc +++ b/tests/libmemcached-1.0/server_add.cc @@ -36,7 +36,9 @@ */ #include -#include +#include + +#include using namespace libtest; @@ -44,24 +46,60 @@ using namespace libtest; #include -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) +{ + SKIP_IF(true); + 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, random() % 10)); + } return TEST_SUCCESS; }