return NULL;
}
- in_port_t max_port= TEST_PORT_BASE;
- for (uint32_t x= 0; x < servers.count(); x++)
+ for (uint32_t x= 0; x < servers.servers_to_run(); x++)
{
const char *argv[1]= { "memcached" };
- if (not servers.start_socket_server("memcached", max_port +1, 1, argv))
+ if (servers.start_socket_server("memcached", libtest::get_free_port(), 1, argv) == false)
{
- error= TEST_FATAL;
- return NULL;
+ fatal_message("Could not launch memcached");
}
}
libmemcached_test_container_st *global_container= new libmemcached_test_container_st(servers);
- if (global_container == NULL)
- {
- error= TEST_MEMORY_ALLOCATION_FAILURE;
- return NULL;
- }
error= TEST_SUCCESS;
}
}
- 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;
}
return TEST_SUCCESS;
}
-static test_return_t world_pre_run(libmemcached_test_container_st *container)
-{
- test_true(container->memc);
- for (uint32_t loop= 0; loop < memcached_server_list_count(container->memc->servers); loop++)
- {
- memcached_server_instance_st instance=
- memcached_server_instance_by_position(container->memc, loop);
-
- test_compare(-1, instance->fd);
- test_compare(0U, instance->cursor_active);
- }
-
- return TEST_SUCCESS;
-}
-
-
-static test_return_t world_post_run(libmemcached_test_container_st *container)
-{
- test_true(container->memc);
-
- return TEST_SUCCESS;
-}
-
static test_return_t world_on_error(test_return_t , libmemcached_test_container_st *container)
{
test_true(container->memc);
typedef test_return_t (*libmemcached_test_callback_fn)(memcached_st *);
-static test_return_t _runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container)
-{
- if (func)
- {
- test_true(container);
- test_true(container->memc);
- test_return_t ret;
- try {
- ret= func(container->memc);
- }
- catch (std::exception& e)
- {
- libtest::Error << e.what();
- return TEST_FAILURE;
- }
-
- return ret;
- }
-
- return TEST_SUCCESS;
-}
-
-static test_return_t _pre_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container)
-{
- if (func)
- {
- return func(container->parent);
- }
-
- return TEST_SUCCESS;
-}
-
-static test_return_t _post_runner_default(libmemcached_test_callback_fn func, libmemcached_test_container_st *container)
-{
- if (func)
- {
- return func(container->parent);
- }
-
- return TEST_SUCCESS;
-}
-
-class LibmemcachedRunner : public libtest::Runner {
-public:
- test_return_t run(test_callback_fn* func, void *object)
- {
- return _runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object);
- }
-
- test_return_t pre(test_callback_fn* func, void *object)
- {
- return _pre_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object);
- }
-
- test_return_t post(test_callback_fn* func, void *object)
- {
- return _post_runner_default(libmemcached_test_callback_fn(func), (libmemcached_test_container_st*)object);
- }
-};
-
-static LibmemcachedRunner defualt_libmemcached_runner;
+#include "tests/runner.h"