Update yatl.
[awesomized/libmemcached] / libtest / gearmand.cc
index 8106bec4b0a971f2b3529d5081497c1245b21c8d..d9dcf19248c719dc84b6b21983f5730d222f9c87 100644 (file)
  *
  */
 
-#include "mem_config.h"
+#include "libtest/yatlcon.h"
 #include <libtest/common.h>
 
 #include <libtest/gearmand.h>
 
-#include "util/instance.hpp"
-#include "util/operation.hpp"
-
-using namespace datadifferential;
 using namespace libtest;
 
 #include <cassert>
@@ -71,6 +67,8 @@ public:
 
   bool ping()
   {
+    reset_error();
+
     if (out_of_ban_killed())
     {
       return false;
@@ -79,7 +77,14 @@ public:
     SimpleClient client(_hostname, _port);
 
     std::string response;
-    return client.send_message("version", response);
+    bool ret= client.send_message("version", response);
+
+    if (client.is_error())
+    {
+      error(client.error());
+    }
+
+    return ret;
   }
 
   const char *name()
@@ -138,6 +143,11 @@ bool Gearmand::build(size_t argc, const char *argv[])
 
   for (size_t x= 0 ; x < argc ; x++)
   {
+    if (argv[x] == NULL)
+    {
+      break;
+    }
+
     add_option(argv[x]);
   }
 
@@ -150,8 +160,13 @@ libtest::Server *build_gearmand(const char *hostname, in_port_t try_port, const
 {
   if (binary == NULL)
   {
-#if defined(GEARMAND_BINARY)
-    binary= GEARMAND_BINARY;
+#if defined(HAVE_GEARMAND_BINARY)
+# if defined(GEARMAND_BINARY)
+    if (HAVE_GEARMAND_BINARY)
+    {
+      binary= GEARMAND_BINARY;
+    }
+# endif
 #endif
   }