X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fmemrm.cc;h=58da088c5d395cde9d662aba88b0feb3717d4581;hb=27bed94f9adf2d67670daf8a237be68f5bb7a076;hp=f3a1f84bc3ed105cae57c2cfb667957ba94a4e24;hpb=64e070cda2cc99513fdbaae770a473d5338c9378;p=awesomized%2Flibmemcached diff --git a/tests/memrm.cc b/tests/memrm.cc index f3a1f84b..58da088c 100644 --- a/tests/memrm.cc +++ b/tests/memrm.cc @@ -50,21 +50,22 @@ using namespace libtest; #pragma GCC diagnostic ignored "-Wstrict-aliasing" #endif -static std::string executable; +static std::string executable("./clients/memrm"); static test_return_t quiet_test(void *) { const char *args[]= { "--quiet", 0 }; - test_true(exec_cmdline(executable, args)); + test_compare(EXIT_FAILURE, exec_cmdline(executable, args, true)); 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 +73,6 @@ static test_return_t rm_test(void *) { char buffer[1024]; snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port())); - const char *args[]= { "--quiet", buffer, "foo", 0 }; memcached_st *memc= memcached(buffer, strlen(buffer)); test_true(memc); @@ -84,7 +84,8 @@ static test_return_t rm_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)); + const char *args[]= { buffer, "foo", 0 }; + test_compare(EXIT_SUCCESS, exec_cmdline(executable, args, true)); test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc)); test_compare(MEMCACHED_NOTFOUND, rc); @@ -94,11 +95,11 @@ static test_return_t rm_test(void *) return TEST_SUCCESS; } -static test_return_t NOT_FOUND_test(void *) +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); @@ -107,7 +108,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_SUCCESS, exec_cmdline(executable, args, true)); test_null(memcached_get(memc, test_literal_param("foo"), 0, 0, &rc)); test_compare(MEMCACHED_NOTFOUND, rc); @@ -117,11 +118,24 @@ static test_return_t NOT_FOUND_test(void *) return TEST_SUCCESS; } +static test_return_t multiple_NOT_FOUND_TEST(void *) +{ + char buffer[1024]; + snprintf(buffer, sizeof(buffer), "--server=localhost:%d", int(default_port())); + const char *args[]= { buffer, "protocols", "foo", "mine", "bar", "dog", "cat", "foo", "mine", + "eye", "for", "the", "to", "not", "know", "what", "I", "should", "be", "doing", 0 }; + + test_compare(EXIT_SUCCESS, exec_cmdline(executable, args, true)); + + return TEST_SUCCESS; +} + test_st memrm_tests[] ={ {"--quiet", true, quiet_test }, {"--help", true, help_test }, {"rm(FOUND)", true, rm_test }, - {"rm(NOT_FOUND)", true, NOT_FOUND_test }, + {"rm(NOT_FOUND)", true, NOT_FOUND_TEST }, + {"multiple rm(NOT_FOUND)", true, multiple_NOT_FOUND_TEST }, {0, 0, 0} }; @@ -132,14 +146,13 @@ collection_st collection[] ={ 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]= { "memrm" }; - 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; } @@ -148,10 +161,9 @@ static void *world_create(server_startup_st& servers, test_return_t& error) } -void get_world(Framework *world) +void get_world(libtest::Framework* world) { - executable= "./clients/memrm"; - world->collections= collection; - world->_create= world_create; + world->collections(collection); + world->create(world_create); }