+static test_return_t world_container_startup(libmemcached_test_container_st *container)
+{
+ char buffer[BUFSIZ];
+
+ test_compare_got(MEMCACHED_SUCCESS,
+ libmemcached_check_configuration(container->construct.option_string().c_str(), container->construct.option_string().size(),
+ buffer, sizeof(buffer)),
+ container->construct.option_string().c_str());
+
+ test_null(container->parent);
+ container->parent= memcached(container->construct.option_string().c_str(), container->construct.option_string().size());
+ test_true(container->parent);
+ test_compare(MEMCACHED_SUCCESS, memcached_version(container->parent));
+
+ if (container->construct.sasl())
+ {
+ if (memcached_failed(memcached_behavior_set(container->parent, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1)))
+ {
+ memcached_free(container->parent);
+ return TEST_FAILURE;
+ }
+
+ if (memcached_failed(memcached_set_sasl_auth_data(container->parent, container->construct.username().c_str(), container->construct.password().c_str())))
+ {
+ memcached_free(container->parent);
+ return TEST_FAILURE;
+ }
+ }
+
+ for (uint32_t host= 0; host < memcached_server_count(container->parent); ++host)
+ {
+ memcached_server_instance_st instance=
+ memcached_server_instance_by_position(container->parent, host);
+
+ if (instance->type == MEMCACHED_CONNECTION_TCP)
+ {
+ test_true_got(memcached_server_port(instance) >= TEST_PORT_BASE, memcached_server_port(instance));
+ }
+ }
+
+ return TEST_SUCCESS;
+}