X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Flibmemcached-1.0%2Fparser.cc;h=6a75a2dc711ea8033ebe486bd43a099d804b67fa;hb=2569efffe16042f47dc5d2c34528a9ec22fc18b0;hp=03da195a5c7afab2022bebce15c40362610b8feb;hpb=473a604470aa72c043242128a7cbe006999d9e19;p=awesomized%2Flibmemcached diff --git a/tests/libmemcached-1.0/parser.cc b/tests/libmemcached-1.0/parser.cc index 03da195a..6a75a2dc 100644 --- a/tests/libmemcached-1.0/parser.cc +++ b/tests/libmemcached-1.0/parser.cc @@ -43,13 +43,13 @@ using namespace libtest; #include #include #include -#include -#include -#include +#include +#include -#include +#include #include +#include "libmemcached/instance.h" enum scanner_type_t { @@ -188,6 +188,7 @@ scanner_variable_t test_number_options[]= { }; scanner_variable_t test_boolean_options[]= { + { ARRAY, make_scanner_string("--FETCH-VERSION"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--BINARY-PROTOCOL"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--BUFFER-REQUESTS"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--HASH-WITH-NAMESPACE"), scanner_string_null, NULL }, @@ -486,7 +487,7 @@ test_return_t random_statement_build_test(memcached_st*) { std::string random_options; - uint32_t number_of= random() % option_list.size(); + uint32_t number_of= random() % uint32_t(option_list.size()); for (uint32_t options= 0; options < number_of; options++) { size_t option_list_position= random() % option_list.size(); @@ -616,31 +617,30 @@ test_return_t random_statement_build_test(memcached_st*) } static memcached_return_t dump_server_information(const memcached_st *, - const memcached_server_st *instance, + memcached_server_instance_st instance, void *) { if (strcmp(memcached_server_name(instance), "localhost")) { - assert(not memcached_server_name(instance)); + fatal_assert(not memcached_server_name(instance)); return MEMCACHED_FAILURE; } if (memcached_server_port(instance) < 8888 or memcached_server_port(instance) > 8892) { - assert(not memcached_server_port(instance)); + fatal_assert(not memcached_server_port(instance)); return MEMCACHED_FAILURE; } if (instance->weight > 5 or instance->weight < 2) { - assert(not instance->weight); + fatal_assert(not instance->weight); return MEMCACHED_FAILURE; } return MEMCACHED_SUCCESS; } - test_return_t test_hostname_port_weight(memcached_st *) { const char *server_string= "--server=localhost:8888/?2 --server=localhost:8889/?3 --server=localhost:8890/?4 --server=localhost:8891/?5 --server=localhost:8892/?3"; @@ -663,23 +663,36 @@ test_return_t test_hostname_port_weight(memcached_st *) struct socket_weight_t { const char *socket; size_t weight; + const char* type; }; static memcached_return_t dump_socket_information(const memcached_st *, - const memcached_server_st *instance, + memcached_server_instance_st instance, void *context) { socket_weight_t *check= (socket_weight_t *)context; - if (strcmp(memcached_server_name(instance), check->socket)) + if (strcmp(memcached_server_type(instance), check->type) == 0) { - Error << memcached_server_name(instance) << " != " << check->socket; - return MEMCACHED_FAILURE; + if (strcmp(memcached_server_name(instance), check->socket) == 0) + { + if (instance->weight == check->weight) + { + return MEMCACHED_SUCCESS; + } + else + { + Error << instance->weight << " != " << check->weight; + } + } + else + { + Error << "'" << memcached_server_name(instance) << "'" << " != " << "'" << check->socket << "'"; + } } - - if (instance->weight == check->weight) + else { - return MEMCACHED_SUCCESS; + Error << "'" << memcached_server_type(instance) << "'" << " != " << "'" << check->type << "'"; } return MEMCACHED_FAILURE; @@ -697,7 +710,7 @@ test_return_t test_parse_socket(memcached_st *) memcached_st *memc= memcached(test_literal_param("--socket=\"/tmp/foo\"")); test_true(memc); - socket_weight_t check= { "/tmp/foo", 1 }; + socket_weight_t check= { "/tmp/foo", 1, "SOCKET"}; test_compare(MEMCACHED_SUCCESS, memcached_server_cursor(memc, callbacks, &check, 1)); memcached_free(memc); @@ -710,7 +723,7 @@ test_return_t test_parse_socket(memcached_st *) memcached_st *memc= memcached(test_literal_param("--socket=\"/tmp/foo\"/?23")); test_true(memc); - socket_weight_t check= { "/tmp/foo", 23 }; + socket_weight_t check= { "/tmp/foo", 23, "SOCKET"}; test_compare(MEMCACHED_SUCCESS, memcached_server_cursor(memc, callbacks, &check, 1)); memcached_free(memc); @@ -749,7 +762,9 @@ test_return_t regression_bug_71231153_connect(memcached_st *) test_return_t regression_bug_71231153_poll(memcached_st *) { if (libmemcached_util_ping("10.0.2.252", 0, NULL)) // If for whatever reason someone has a host at this address, skip + { return TEST_SKIPPED; + } { // Test the poll timeout, on a bad host we should get MEMCACHED_CONNECTION_FAILURE memcached_st *memc= memcached(test_literal_param("--SERVER=10.0.2.252 --POLL-TIMEOUT=0"));