X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fmemcached.cc;h=7af26092c650a12be452f1af98ead09b1cba971f;hb=50532bea9eb770554e1e962d03b868987303acbe;hp=d2ce941ea54147a3cc1ea630f4c18bc5c4e91aae;hpb=f006a1e25c398dd131668233b842b6be0b8200dd;p=awesomized%2Flibmemcached diff --git a/libtest/memcached.cc b/libtest/memcached.cc index d2ce941e..7af26092 100644 --- a/libtest/memcached.cc +++ b/libtest/memcached.cc @@ -34,12 +34,9 @@ * */ -#include "mem_config.h" +#include "libtest/yatlcon.h" -#include - -#include -#include +#include "libtest/common.h" #include #include @@ -75,21 +72,21 @@ public: const std::string& username_arg, const std::string& password_arg) : libtest::Server(host_arg, port_arg, - MEMCACHED_BINARY, false, is_socket_arg), + memcached_binary(), false, is_socket_arg), _username(username_arg), _password(password_arg) { } Memcached(const std::string& host_arg, const in_port_t port_arg, const bool is_socket_arg) : libtest::Server(host_arg, port_arg, - MEMCACHED_BINARY, false, is_socket_arg) + memcached_binary(), false, is_socket_arg) { set_pid_file(); } virtual const char *sasl() const { - return "-S"; + return NULL; } const std::string& password() const @@ -134,7 +131,7 @@ public: const char *executable() { - return MEMCACHED_BINARY; + return memcached_binary(); } bool is_libtool() @@ -159,7 +156,8 @@ public: { char buffer[30]; snprintf(buffer, sizeof(buffer), "%d", int(arg)); - app.add_option("-p", buffer); + app.add_option("-p", buffer); + app.add_option("-U", buffer); } bool has_port_option() const @@ -191,13 +189,13 @@ public: return true; } - bool build(size_t argc, const char *argv[]); + bool build(); }; #include -bool Memcached::build(size_t argc, const char *argv[]) +bool Memcached::build() { if (getuid() == 0 or geteuid() == 0) { @@ -205,43 +203,40 @@ bool Memcached::build(size_t argc, const char *argv[]) } add_option("-l", "localhost"); -#ifndef TARGET_OS_OSX +#ifdef __APPLE__ +#else add_option("-m", "128"); add_option("-M"); #endif - if (_username.size()) + if (sasl()) { add_option(sasl()); } - for (size_t x= 0 ; x < argc ; x++) - { - add_option(argv[x]); - } + add_option("-vv"); return true; } libtest::Server *build_memcached(const std::string& hostname, const in_port_t try_port) { - return new Memcached(hostname, try_port, false); -} + if (has_memcached()) + { + return new Memcached(hostname, try_port, false); + } -libtest::Server *build_memcached_socket(const std::string& socket_file, const in_port_t try_port) -{ - return new Memcached(socket_file, try_port, true); + return NULL; } -libtest::Server *build_memcached_sasl(const std::string& hostname, const in_port_t try_port, const std::string& username, const std::string &password) +libtest::Server *build_memcached_socket(const std::string& socket_file, const in_port_t try_port) { - if (username.empty()) + if (has_memcached()) { - return new Memcached(hostname, try_port, false, "memcached", "memcached"); + return new Memcached(socket_file, try_port, true); } - return new Memcached(hostname, try_port, false, username, password); + return NULL; } } // namespace libtest -