X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fmemtouch.cc;h=647485e44e9119964063b5f65f0c97c317479885;hb=38c7c4e5444881eee8f76c6050e146c137c3781e;hp=a09bd40a0c8a8eaf92dbcf14f45d36f24560ecb8;hpb=1267d56c788cf8628c4111042d01b926f4a58dba;p=m6w6%2Flibmemcached diff --git a/tests/memtouch.cc b/tests/memtouch.cc index a09bd40a..647485e4 100644 --- a/tests/memtouch.cc +++ b/tests/memtouch.cc @@ -43,6 +43,7 @@ #include #include +#include using namespace libtest; @@ -88,7 +89,6 @@ static test_return_t touch_test(void *) static test_return_t NOT_FOUND_test(void *) { char buffer[1024]; - snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port())); memcached_st *memc= memcached(buffer, strlen(buffer)); test_true(memc); @@ -108,6 +108,23 @@ 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 memtouch_tests[] ={ {"--help", true, help_test }, {"touch(FOUND)", true, touch_test }, @@ -116,20 +133,19 @@ test_st memtouch_tests[] ={ }; collection_st collection[] ={ - {"memtouch", 0, 0, memtouch_tests }, + {"memtouch", check_version, 0, memtouch_tests }, {0, 0, 0, 0} }; static void *world_create(server_startup_st& servers, test_return_t& error) { - if (HAVE_MEMCACHED_BINARY == 0) + if (libtest::has_memcached() == false) { error= TEST_SKIPPED; return NULL; } - const char *argv[1]= { "memtouch" }; - if (not server_startup(servers, "memcached", libtest::default_port(), 1, argv)) + if (server_startup(servers, "memcached", libtest::default_port(), 0, NULL) == false) { error= TEST_FAILURE; } @@ -141,7 +157,6 @@ static void *world_create(server_startup_st& servers, test_return_t& error) void get_world(Framework *world) { executable= "./clients/memtouch"; - world->collections= collection; - world->_create= world_create; + world->collections(collection); + world->create(world_create); } -