X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fparser.cc;h=0a46618926200e234a3a827a838d99c7bb32bde3;hb=1591feaed3f710d48f76a6fc8a3a52242ab34fd9;hp=717859b469e6b65ac58807ca8f2b65519d60b2e8;hpb=50521589078b10acb7be711658754120be554852;p=awesomized%2Flibmemcached diff --git a/tests/parser.cc b/tests/parser.cc index 717859b4..0a466189 100644 --- a/tests/parser.cc +++ b/tests/parser.cc @@ -1,6 +1,6 @@ /* vim:expandtab:shiftwidth=2:tabstop=2:smarttab: * - * Gearmand client and server library. + * Libmemcached Client and Server * * Copyright (C) 2011 Data Differential, http://datadifferential.com/ * All rights reserved. @@ -41,6 +41,7 @@ #include #include +#define BUILDING_LIBMEMCACHED #include #include "tests/parser.h" @@ -124,13 +125,6 @@ static test_return_t __check_AUTO_EJECT_HOSTS(memcached_st *memc, const scanner_ return TEST_SUCCESS; } -static test_return_t __check_CACHE_LOOKUPS(memcached_st *memc, const scanner_string_st &value) -{ - (void)value; - test_true(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_CACHE_LOOKUPS)); - return TEST_SUCCESS; -} - static test_return_t __check_NOREPLY(memcached_st *memc, const scanner_string_st &value) { (void)value; @@ -200,12 +194,7 @@ scanner_variable_t test_boolean_options[]= { { ARRAY, make_scanner_string("--AUTO_EJECT_HOSTS"), scanner_string_null, __check_AUTO_EJECT_HOSTS }, { ARRAY, make_scanner_string("--BINARY_PROTOCOL"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--BUFFER_REQUESTS"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--CACHE_LOOKUPS"), scanner_string_null, __check_CACHE_LOOKUPS }, -#if 0 // Not all platforms support - { ARRAY, make_scanner_string("--CORK"), scanner_string_null, NULL }, -#endif { ARRAY, make_scanner_string("--HASH_WITH_PREFIX_KEY"), scanner_string_null, NULL }, - { ARRAY, make_scanner_string("--KETAMA"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--KETAMA_WEIGHTED"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--NOREPLY"), scanner_string_null, __check_NOREPLY }, { ARRAY, make_scanner_string("--RANDOMIZE_REPLICA_READ"), scanner_string_null, NULL }, @@ -228,6 +217,8 @@ scanner_variable_t prefix_key_strings[]= { scanner_variable_t distribution_strings[]= { { ARRAY, make_scanner_string("--DISTRIBUTION=consistent"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--DISTRIBUTION=consistent,CRC"), scanner_string_null, NULL }, + { ARRAY, make_scanner_string("--DISTRIBUTION=consistent,MD5"), scanner_string_null, NULL }, { ARRAY, make_scanner_string("--DISTRIBUTION=random"), scanner_string_null, __check_distribution_RANDOM }, { ARRAY, make_scanner_string("--DISTRIBUTION=modula"), scanner_string_null, NULL }, { NIL, scanner_string_null, scanner_string_null, NULL} @@ -345,15 +336,21 @@ test_return_t parser_key_prefix_test(memcached_st *junk) return _test_option(distribution_strings); } +#define SUPPORT_EXAMPLE_CNF "support/example.cnf" + test_return_t memcached_parse_configure_file_test(memcached_st *junk) { (void)junk; + + if (access(SUPPORT_EXAMPLE_CNF, R_OK)) + return TEST_SKIPPED; + memcached_st memc; memcached_st *memc_ptr= memcached_create(&memc); test_true(memc_ptr); - memcached_return_t rc= memcached_parse_configure_file(memc_ptr, memcached_string_with_size("support/example.cnf")); + memcached_return_t rc= memcached_parse_configure_file(memc_ptr, memcached_string_with_size(SUPPORT_EXAMPLE_CNF)); test_true_got(rc == MEMCACHED_SUCCESS, memcached_last_error_message(memc_ptr) ? memcached_last_error_message(memc_ptr) : memcached_strerror(NULL, rc)); memcached_free(memc_ptr); @@ -363,6 +360,8 @@ test_return_t memcached_parse_configure_file_test(memcached_st *junk) test_return_t memcached_create_with_options_with_filename(memcached_st *junk) { (void)junk; + if (access(SUPPORT_EXAMPLE_CNF, R_OK)) + return TEST_SKIPPED; memcached_st *memc_ptr; memc_ptr= memcached_create_with_options(STRING_WITH_LEN("--CONFIGURE-FILE=\"support/example.cnf\"")); @@ -375,6 +374,10 @@ test_return_t memcached_create_with_options_with_filename(memcached_st *junk) test_return_t libmemcached_check_configuration_with_filename_test(memcached_st *junk) { (void)junk; + + if (access(SUPPORT_EXAMPLE_CNF, R_OK)) + return TEST_SKIPPED; + memcached_return_t rc; char buffer[BUFSIZ]; @@ -424,6 +427,9 @@ test_return_t memcached_create_with_options_test(memcached_st *junk) test_return_t test_include_keyword(memcached_st *junk) { + if (access(SUPPORT_EXAMPLE_CNF, R_OK)) + return TEST_SKIPPED; + (void)junk; char buffer[BUFSIZ]; memcached_return_t rc; @@ -505,11 +511,10 @@ test_return_t random_statement_build_test(memcached_st *junk) random_options+= option_list[random() % option_list.size()]->c_str; random_options+= " "; } - random_options.resize(random_options.size() -1); memcached_return_t rc; memcached_st *memc_ptr= memcached_create(NULL); - rc= memcached_parse_configuration(memc_ptr, random_options.c_str(), random_options.size()); + rc= memcached_parse_configuration(memc_ptr, random_options.c_str(), random_options.size() -1); if (rc == MEMCACHED_PARSE_ERROR) { std::cerr << std::endl << "Failed to parse(" << memcached_strerror(NULL, rc) << "): " << random_options << std::endl;