X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fmemexist.cc;h=fb69354dac4975694db3182940c1042804425130;hb=23bbe3972dada1e21493437ba64be129e86b59fc;hp=9de01fa36ef657dc3a3b58c6ff90eca29a4a64f3;hpb=1054bac0d64844c968d1dcb6d5478315bfd4d7a8;p=m6w6%2Flibmemcached diff --git a/tests/memexist.cc b/tests/memexist.cc index 9de01fa3..fb69354d 100644 --- a/tests/memexist.cc +++ b/tests/memexist.cc @@ -43,6 +43,7 @@ #include #include +#include using namespace libtest; @@ -50,21 +51,13 @@ using namespace libtest; #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif -static std::string executable; - -static test_return_t quiet_test(void *) -{ - const char *args[]= { "--quiet", 0 }; - - test_true(exec_cmdline(executable, args)); - return TEST_SUCCESS; -} +static std::string executable("./clients/memexist"); static test_return_t help_test(void *) { - const char *args[]= { "--quiet", "--help", 0 }; + const char *args[]= { "--help", 0 }; - test_true(exec_cmdline(executable, args)); + test_compare(EXIT_SUCCESS, exec_cmdline(executable, args, true)); return TEST_SUCCESS; } @@ -72,7 +65,7 @@ static test_return_t exist_test(void *) { char buffer[1024]; snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port())); - const char *args[]= { "--quiet", buffer, "foo", 0 }; + const char *args[]= { buffer, "foo", 0 }; memcached_st *memc= memcached(buffer, strlen(buffer)); test_true(memc); @@ -84,7 +77,7 @@ static test_return_t exist_test(void *) test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc)); test_compare(MEMCACHED_SUCCESS, rc); - test_true(exec_cmdline(executable, args)); + test_compare(EXIT_SUCCESS, exec_cmdline(executable, args, true)); test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc)); test_compare(MEMCACHED_SUCCESS, rc); @@ -98,7 +91,7 @@ static test_return_t NOT_FOUND_test(void *) { char buffer[1024]; snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port())); - const char *args[]= { "--quiet", buffer, "foo", 0 }; + const char *args[]= { buffer, "foo", 0 }; memcached_st *memc= memcached(buffer, strlen(buffer)); test_true(memc); @@ -109,7 +102,7 @@ static test_return_t NOT_FOUND_test(void *) test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc)); test_compare(MEMCACHED_NOTFOUND, rc); - test_true(exec_cmdline(executable, args)); + test_compare(EXIT_FAILURE, exec_cmdline(executable, args, true)); test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc)); test_compare(MEMCACHED_NOTFOUND, rc); @@ -119,8 +112,24 @@ static test_return_t NOT_FOUND_test(void *) return TEST_SUCCESS; } +static test_return_t check_version(void*) +{ + char buffer[1024]; + snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port())); + memcached_st *memc= memcached(buffer, strlen(buffer)); + test_true(memc); + + test_return_t result= TEST_SUCCESS; + if (libmemcached_util_version_check(memc, 1, 4, 8) == false) + { + result= TEST_SKIPPED; + } + memcached_free(memc); + + return result; +} + test_st memexist_tests[] ={ - {"--quiet", true, quiet_test }, {"--help", true, help_test }, {"exist(FOUND)", true, exist_test }, {"exist(NOT_FOUND)", true, NOT_FOUND_test }, @@ -128,7 +137,7 @@ test_st memexist_tests[] ={ }; collection_st collection[] ={ - {"memexist", 0, 0, memexist_tests }, + {"memexist", check_version, 0, memexist_tests }, {0, 0, 0, 0} }; @@ -140,8 +149,7 @@ static void *world_create(server_startup_st& servers, test_return_t& error) return NULL; } - const char *argv[1]= { "memexist" }; - if (not server_startup(servers, "memcached", MEMCACHED_DEFAULT_PORT +10, 1, argv)) + if (server_startup(servers, "memcached", libtest::default_port(), 0, NULL) == false) { error= TEST_FAILURE; } @@ -152,8 +160,7 @@ static void *world_create(server_startup_st& servers, test_return_t& error) void get_world(Framework *world) { - executable= "./clients/memexist"; - world->collections= collection; - world->_create= world_create; + world->collections(collection); + world->create(world_create); }