X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Flibmemcached_world.h;h=dfdddbefe00796336603fa2af813c8c9ef42eef8;hb=12a07e58df95bb8dbe167e4157b29c910177ade8;hp=36136c6e11f88e9fa5210fe184e9bc91500ea5f0;hpb=9fd31c03436acf24c593dc3a77c905eb137ef570;p=awesomized%2Flibmemcached diff --git a/tests/libmemcached_world.h b/tests/libmemcached_world.h index 36136c6e..dfdddbef 100644 --- a/tests/libmemcached_world.h +++ b/tests/libmemcached_world.h @@ -9,9 +9,9 @@ * */ -#ifdef __cplusplus -extern "C" { -#endif +#pragma once + +#include /* The structure we use for the test system */ struct libmemcached_test_container_st @@ -23,11 +23,13 @@ struct libmemcached_test_container_st libmemcached_test_container_st() : parent(NULL), memc(NULL) - { - memset(&construct, 0, sizeof(server_startup_st)); - } + { } }; +#ifdef __cplusplus +extern "C" { +#endif + /* Prototypes for functions we will pass to test framework */ libmemcached_test_container_st *world_create(test_return_t *error); test_return_t world_test_startup(libmemcached_test_container_st *); @@ -38,8 +40,6 @@ test_return_t world_post_run(libmemcached_test_container_st *); test_return_t world_on_error(test_return_t, libmemcached_test_container_st *); test_return_t world_destroy(libmemcached_test_container_st *); -static libmemcached_test_container_st global_container; - /** @note generic shutdown/startup for libmemcached tests. */ @@ -48,29 +48,30 @@ test_return_t world_container_shutdown(libmemcached_test_container_st *container libmemcached_test_container_st *world_create(test_return_t *error) { - global_container.construct.count= SERVERS_TO_CREATE; - global_container.construct.udp= 0; - server_startup(&global_container.construct); - - if (not global_container.construct.servers) + libmemcached_test_container_st *global_container= new libmemcached_test_container_st(); + if (not server_startup(&global_container->construct)) { *error= TEST_FAILURE; - server_shutdown(&global_container.construct); return NULL; } *error= TEST_SUCCESS; - return &global_container; + return global_container; } test_return_t world_container_startup(libmemcached_test_container_st *container) { - container->parent= memcached_create(NULL); - test_true((container->parent != NULL)); + char buffer[BUFSIZ]; - test_compare(MEMCACHED_SUCCESS, - memcached_server_push(container->parent, container->construct.servers)); + test_compare_got(MEMCACHED_SUCCESS, + libmemcached_check_configuration(container->construct.server_list.c_str(), container->construct.server_list.size(), + buffer, sizeof(buffer)), + buffer); + + assert(not container->parent); + container->parent= memcached(container->construct.server_list.c_str(), container->construct.server_list.size()); + test_true(container->parent); return TEST_SUCCESS; } @@ -85,14 +86,18 @@ test_return_t world_container_shutdown(libmemcached_test_container_st *container test_return_t world_test_startup(libmemcached_test_container_st *container) { + assert(container); + assert(not container->memc); + assert(container->parent); container->memc= memcached_clone(NULL, container->parent); - test_true((container->memc != NULL)); + test_true(container->memc); return TEST_SUCCESS; } test_return_t world_flush(libmemcached_test_container_st *container) { + assert(container->memc); memcached_flush(container->memc, 0); memcached_quit(container->memc); @@ -101,6 +106,7 @@ test_return_t world_flush(libmemcached_test_container_st *container) test_return_t world_pre_run(libmemcached_test_container_st *container) { + assert(container->memc); for (uint32_t loop= 0; loop < memcached_server_list_count(container->memc->servers); loop++) { memcached_server_instance_st instance= @@ -124,6 +130,7 @@ test_return_t world_post_run(libmemcached_test_container_st *container) test_return_t world_on_error(test_return_t test_state, libmemcached_test_container_st *container) { (void)test_state; + assert(container->memc); memcached_free(container->memc); container->memc= NULL; @@ -133,8 +140,6 @@ test_return_t world_on_error(test_return_t test_state, libmemcached_test_contain test_return_t world_destroy(libmemcached_test_container_st *container) { server_startup_st *construct= &container->construct; - memcached_server_st *servers= container->construct.servers; - memcached_server_list_free(servers); server_shutdown(construct); @@ -142,6 +147,8 @@ test_return_t world_destroy(libmemcached_test_container_st *container) sasl_done(); #endif + delete container; + return TEST_SUCCESS; } @@ -150,6 +157,8 @@ static test_return_t _runner_default(libmemcached_test_callback_fn func, libmemc { if (func) { + assert(container); + assert(container->memc); return func(container->memc); } else @@ -188,7 +197,7 @@ static test_return_t _post_runner_default(libmemcached_test_callback_fn func, li #ifdef __cplusplus -static world_runner_st defualt_libmemcached_runner= { +static Runner defualt_libmemcached_runner= { reinterpret_cast(_pre_runner_default), reinterpret_cast(_runner_default), reinterpret_cast(_post_runner_default) @@ -196,7 +205,7 @@ static world_runner_st defualt_libmemcached_runner= { #else -static world_runner_st defualt_libmemcached_runner= { +static Runner defualt_libmemcached_runner= { (test_callback_runner_fn)_pre_runner_default, (test_callback_runner_fn)_runner_default, (test_callback_runner_fn)_post_runner_default