}
}
- SECTION("regression lp:1048945") {
- MemcachedPtr memc_ptr(memcached_create(nullptr));
- auto memc = *memc_ptr;
- LoneReturnMatcher test{memc};
- memcached_return status;
+ SECTION("add null/empty") {
+ MemcachedPtr memc;
- auto list = memcached_server_list_append_with_weight(nullptr, "a", 11211, 0, &status);
- REQUIRE_SUCCESS(status);
+ REQUIRE(MEMCACHED_SUCCESS == memcached_server_add(*memc, nullptr, 0));
+ REQUIRE(1 == memcached_server_count(*memc));
- list = memcached_server_list_append_with_weight(list, "b", 11211, 0, &status);
- REQUIRE_SUCCESS(status);
+ REQUIRE(MEMCACHED_SUCCESS == memcached_server_add(*memc, "", 0));
+ REQUIRE(2 == memcached_server_count(*memc));
+ }
- list = memcached_server_list_append_with_weight(list, "c", 11211, 0, &status);
- REQUIRE_SUCCESS(status);
+ SECTION("add many") {
+ MemcachedPtr memc;
- REQUIRE(3 == memcached_server_list_count(list));
+ for (auto i = 0; i < 100; ++i) {
+ REQUIRE(MEMCACHED_SUCCESS == memcached_server_add(*memc, "memc", 11211 + i));
+ }
+ REQUIRE(100 == memcached_server_count(*memc));
+ }
- REQUIRE_SUCCESS(memcached_server_push(memc, list));
- REQUIRE_SUCCESS(memcached_server_push(memc, list));
- memcached_server_list_free(list);
+ SECTION("add many weighted") {
+ MemcachedPtr memc;
+
+ for (auto i = 0; i < 100; ++i) {
+ REQUIRE(MEMCACHED_SUCCESS == memcached_server_add_with_weight(*memc, "memc", 11211 +i, i % 10));
+ }
+ REQUIRE(100 == memcached_server_count(*memc));
+ }
+
+ SECTION("reset") {
+ MemcachedPtr memc;
- auto server = memcached_server_by_key(memc, S(__func__), &status);
- REQUIRE(server);
- REQUIRE_SUCCESS(status);
+ REQUIRE_FALSE(memcached_server_count(*memc));
+ REQUIRE(MEMCACHED_SUCCESS == memcached_server_add(*memc, "local", 12345));
+ REQUIRE(1 == memcached_server_count(*memc));
+ memcached_servers_reset(*memc);
+ REQUIRE_FALSE(memcached_server_count(*memc));
+ REQUIRE(MEMCACHED_SUCCESS == memcached_server_add(*memc, "local", 12345));
+ REQUIRE(1 == memcached_server_count(*memc));
+ memcached_servers_reset(*memc);
+ REQUIRE_FALSE(memcached_server_count(*memc));
}
}