X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fmemtouch.cc;h=207ac1dc5c45ba71471ad726b4b3be006caa8146;hb=2569efffe16042f47dc5d2c34528a9ec22fc18b0;hp=2710cb6c19856707e58da1c3d083dd2353c2daf1;hpb=81a0c9a7b94f27a20fab8fa60ec22e97b128ec94;p=awesomized%2Flibmemcached diff --git a/tests/memtouch.cc b/tests/memtouch.cc index 2710cb6c..207ac1dc 100644 --- a/tests/memtouch.cc +++ b/tests/memtouch.cc @@ -42,7 +42,8 @@ #include #include -#include +#include +#include using namespace libtest; @@ -52,19 +53,12 @@ using namespace libtest; 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 test_return_t help_test(void *) { - const char *args[]= { "--quiet", "--help", 0 }; + const char *args[]= { "--help", 0 }; + + test_compare(EXIT_SUCCESS, exec_cmdline(executable, args, true)); - test_true(exec_cmdline(executable, args)); return TEST_SUCCESS; } @@ -72,7 +66,6 @@ static test_return_t touch_test(void *) { char buffer[1024]; snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port())); - const char *args[]= { "--quiet", "--expire=30", buffer, "foo", 0 }; memcached_st *memc= memcached(buffer, strlen(buffer)); test_true(memc); @@ -82,7 +75,9 @@ static test_return_t touch_test(void *) test_compare(MEMCACHED_SUCCESS, memcached_exist(memc, test_literal_param("foo"))); - test_true(exec_cmdline(executable, args)); + snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port())); + const char *args[]= { "--expire=30", buffer, "foo", 0 }; + test_compare(EXIT_SUCCESS, exec_cmdline(executable, args, true)); test_compare(MEMCACHED_SUCCESS, memcached_exist(memc, test_literal_param("foo"))); @@ -95,8 +90,6 @@ 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", "--expire=30", buffer, "foo", 0 }; - memcached_st *memc= memcached(buffer, strlen(buffer)); test_true(memc); @@ -104,7 +97,9 @@ static test_return_t NOT_FOUND_test(void *) test_compare(MEMCACHED_NOTFOUND, memcached_exist(memc, test_literal_param("foo"))); - test_true(exec_cmdline(executable, args)); + snprintf(buffer, sizeof(buffer), "--servers=localhost:%d", int(default_port())); + const char *args[]= { "--expire=30", buffer, "foo", 0 }; + test_compare(EXIT_FAILURE, exec_cmdline(executable, args, true)); test_compare(MEMCACHED_NOTFOUND, memcached_exist(memc, test_literal_param("foo"))); @@ -113,8 +108,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 memtouch_tests[] ={ - {"--quiet", true, quiet_test }, {"--help", true, help_test }, {"touch(FOUND)", true, touch_test }, {"touch(NOT_FOUND)", true, NOT_FOUND_test }, @@ -122,32 +133,30 @@ 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", MEMCACHED_DEFAULT_PORT +10, 1, argv)) + if (server_startup(servers, "memcached", libtest::default_port(), 0, NULL) == false) { - error= TEST_FAILURE; + error= TEST_SKIPPED; } return &servers; } -void get_world(Framework *world) +void get_world(libtest::Framework* world) { executable= "./clients/memtouch"; - world->collections= collection; - world->_create= world_create; + world->collections(collection); + world->create(world_create); } -