Merge lp:~tangent-org/libmemcached/1.0-build/ Build: jenkins-Libmemcached-218
authorContinuous Integration <ci@tangent.org>
Tue, 29 Jan 2013 19:38:01 +0000 (14:38 -0500)
committerContinuous Integration <ci@tangent.org>
Tue, 29 Jan 2013 19:38:01 +0000 (14:38 -0500)
17 files changed:
libmemcached/array.c
libmemcached/array.h
libmemcached/auto.cc
libmemcached/callback.cc
libmemcached/common.h
libmemcached/csl/parser.yy
libmemcached/encoding_key.cc
libmemcached/encoding_key.h
libmemcached/error.cc
libmemcached/error.hpp
libmemcached/initialize_query.h
libmemcached/namespace.cc
libmemcached/namespace.h
libmemcached/response.cc
libmemcached/virtual_bucket.c
libmemcached/virtual_bucket.h
tests/libmemcached-1.0/touch.cc

index 5f9066ce9fd689254556f7e234288e04695ed1bb..cd472c3923e8ccd0973f51017638579279afab60 100644 (file)
 
 struct memcached_array_st
 {
-  struct memcached_st *root;
+  Memcached *root;
   size_t size;
   char c_str[];
 };
 
 
-memcached_array_st *memcached_array_clone(struct memcached_st *memc, const memcached_array_st *original)
+memcached_array_st *memcached_array_clone(Memcached *memc, const memcached_array_st *original)
 {
   if (original)
   {
@@ -57,7 +57,7 @@ memcached_array_st *memcached_array_clone(struct memcached_st *memc, const memca
   return NULL;
 }
 
-memcached_array_st *memcached_strcpy(struct memcached_st *memc, const char *str, size_t str_length)
+memcached_array_st *memcached_strcpy(Memcached *memc, const char *str, size_t str_length)
 {
   assert(memc);
   assert(str);
index 0f6e8d0cb68b3399ab4679bde16e1cbb582d2f06..afb3f916593fca992b45ec8d32ebe23cdd83a6d2 100644 (file)
 extern "C" {
 #endif
 
-LIBMEMCACHED_LOCAL
-memcached_array_st *memcached_array_clone(struct memcached_st *memc, const memcached_array_st *original);
+memcached_array_st *memcached_array_clone(Memcached* memc, const memcached_array_st *original);
 
-LIBMEMCACHED_LOCAL
-memcached_array_st *memcached_strcpy(struct memcached_st *memc, const char *str, size_t str_length);
+memcached_array_st *memcached_strcpy(Memcached* memc, const char *str, size_t str_length);
 
-LIBMEMCACHED_LOCAL
 void memcached_array_free(memcached_array_st *array);
 
-LIBMEMCACHED_LOCAL
 size_t memcached_array_size(memcached_array_st *array);
 
-LIBMEMCACHED_LOCAL
 const char *memcached_array_string(memcached_array_st *array);
 
-LIBMEMCACHED_LOCAL
 memcached_string_t memcached_array_to_string(memcached_array_st *array);
 
-LIBMEMCACHED_LOCAL
 bool memcached_array_is_null(memcached_array_st *array);
 
 #ifdef __cplusplus
index 57d6d2fdc00311e339d12f36efc9fea9cf3ef7c8..85e2ae091ace02aae5822f8d16f5a91bf533ccc1 100644 (file)
@@ -54,7 +54,6 @@ static void auto_response(org::libmemcached::Instance* instance, const bool repl
 
   if (memcached_fatal(rc))
   {
-    fprintf(stderr, "%s\n", memcached_strerror(NULL, rc));
     assert(memcached_last_error(instance->root) != MEMCACHED_SUCCESS);
     *value= UINT64_MAX;
   }
index bb001febd7f17399fbe6d603863d9b1aae0030ce..a43eef93065d8716806d4ef2c3af4124f8e75e12 100644 (file)
@@ -31,7 +31,7 @@ memcached_return_t memcached_callback_set(memcached_st *shell,
     {
     case MEMCACHED_CALLBACK_PREFIX_KEY:
       {
-        return memcached_set_namespace(ptr, (char*)data, data ? strlen((char*)data) : 0);
+        return memcached_set_namespace(*ptr, (char*)data, data ? strlen((char*)data) : 0);
       }
 
     case MEMCACHED_CALLBACK_USER_DATA:
index 4ab2680616ca3c8e9c94ac9d55ead63a7a1f21a7..fac6d7758de58794a16f4c38ca91c9b567ccf211 100644 (file)
@@ -158,11 +158,11 @@ org::libmemcached::Instance* memcached_instance_fetch(memcached_st *ptr, uint32_
 
 #ifdef __cplusplus
 # include "libmemcached/response.h"
+# include "libmemcached/namespace.h"
+#else
+# include "libmemcached/virtual_bucket.h"
 #endif
 
-#include "libmemcached/namespace.h"
-#include "libmemcached/virtual_bucket.h"
-
 #ifdef __cplusplus
 # include "libmemcached/backtrace.hpp"
 # include "libmemcached/assert.hpp"
index 093569491f2f1b344910af4ab88fb8cb4c69f654..6d4ccd55152b364374f683bb6fbe5d7b67a152c1 100644 (file)
@@ -291,7 +291,7 @@ behaviors:
               parser_abort(context, "--NAMESPACE can only be called once");
             }
 
-            if ((context->rc= memcached_set_namespace(context->memc, $2.c_str, $2.size)) != MEMCACHED_SUCCESS)
+            if ((context->rc= memcached_set_namespace(*context->memc, $2.c_str, $2.size)) != MEMCACHED_SUCCESS)
             {
               parser_abort(context, memcached_last_error_message(context->memc));
             }
index 5888d4396e7d72d9d9065a5e7432cb3fc3dd5b0c..1e17d507a44b67b67756dcce0088d48283f17d43 100644 (file)
@@ -2,7 +2,7 @@
  * 
  *  Libmemcached library
  *
- *  Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *  Copyright (C) 2011-2013 Data Differential, http://datadifferential.com/
  *  All rights reserved.
  *
  *  Redistribution and use in source and binary forms, with or without
 #include <libmemcached/common.h>
 #include <libmemcached/assert.hpp>
 
-static void _set_encoding_key(Memcached& self, const char *key, size_t key_length)
+static void _set_encoding_key(Memcached& memc, const char *key, size_t key_length)
 {
-  hashkit_key(&self.hashkit, key, key_length);
+  hashkit_key(&memc.hashkit, key, key_length);
 }
 
 memcached_return_t memcached_set_encoding_key(memcached_st* shell, const char *key, size_t key_length)
 {
-  Memcached* self= memcached2Memcached(shell);
-  if (self == NULL)
+  Memcached* memc= memcached2Memcached(shell);
+  if (memc)
   {
-    return MEMCACHED_INVALID_ARGUMENTS;
+    _set_encoding_key(*memc, key, key_length);
+    return MEMCACHED_SUCCESS;
   }
 
-  _set_encoding_key(*self, key, key_length);
-  return MEMCACHED_SUCCESS;
+  return MEMCACHED_INVALID_ARGUMENTS;
 }
index 87b2f4ea05a2d24b639d49ea47fcbc64348aa12d..a2c47b089ffb4f5df16640f0e804dab30fa8dfcd 100644 (file)
@@ -41,7 +41,7 @@
 extern "C" {
 #endif
 
-  memcached_string_t memcached_encoding_key(memcached_st&);
+  memcached_string_t memcached_encoding_key(Memcached&);
 
 #ifdef __cplusplus
 }
index 314f3623242898c735f49d90a561b220f7dcc557..64aefa037d88e4f4a0df7655bd3d1246ca41c513 100644 (file)
@@ -43,7 +43,7 @@
 #define MAX_ERROR_LENGTH 2048
 struct memcached_error_t
 {
-  memcached_st *root;
+  Memcached *root;
   uint64_t query_id;
   struct memcached_error_t *next;
   memcached_return_t rc;
@@ -80,7 +80,7 @@ static void _set(org::libmemcached::Instance& server, Memcached& memc)
 static int error_log_fd= -1;
 #endif
 
-static void _set(memcached_st& memc, memcached_string_t *str, memcached_return_t &rc, const char *at, int local_errno= 0)
+static void _set(Memcached& memc, memcached_string_t *str, memcached_return_t &rc, const char *at, int local_errno= 0)
 {
   if (memc.error_messages && memc.error_messages->query_id != memc.query_id)
   {
@@ -208,7 +208,7 @@ static void _set(memcached_st& memc, memcached_string_t *str, memcached_return_t
 #endif
 }
 
-memcached_return_t memcached_set_error(memcached_st& memc, memcached_return_t rc, const char *at, const char *str, size_t length)
+memcached_return_t memcached_set_error(Memcached& memc, memcached_return_t rc, const char *at, const char *str, size_t length)
 {
   assert_msg(rc != MEMCACHED_ERRNO, "Programmer error, MEMCACHED_ERRNO was set to be returned to client");
   memcached_string_t tmp= { str, length };
@@ -228,7 +228,7 @@ memcached_return_t memcached_set_error(org::libmemcached::Instance& self, memcac
 #pragma GCC diagnostic ignored "-Wformat-nonliteral"
 #endif
 
-memcached_return_t memcached_set_error(memcached_st& memc, memcached_return_t rc, const char *at, memcached_string_t& str)
+memcached_return_t memcached_set_error(Memcached& memc, memcached_return_t rc, const char *at, memcached_string_t& str)
 {
   assert_msg(rc != MEMCACHED_ERRNO, "Programmer error, MEMCACHED_ERRNO was set to be returned to client");
   if (memcached_fatal(rc) == false)
@@ -241,7 +241,7 @@ memcached_return_t memcached_set_error(memcached_st& memc, memcached_return_t rc
   return rc;
 }
 
-memcached_return_t memcached_set_parser_error(memcached_st& memc,
+memcached_return_t memcached_set_parser_error(Memcached& memc,
                                               const char *at,
                                               const char *format, ...)
 {
@@ -337,7 +337,7 @@ memcached_return_t memcached_set_error(org::libmemcached::Instance& self, memcac
   return rc;
 }
 
-memcached_return_t memcached_set_error(memcached_st& self, memcached_return_t rc, const char *at)
+memcached_return_t memcached_set_error(Memcached& self, memcached_return_t rc, const char *at)
 {
   assert_msg(rc != MEMCACHED_ERRNO, "Programmer error, MEMCACHED_ERRNO was set to be returned to client");
   if (memcached_fatal(rc) == false)
@@ -350,7 +350,7 @@ memcached_return_t memcached_set_error(memcached_st& self, memcached_return_t rc
   return rc;
 }
 
-memcached_return_t memcached_set_errno(memcached_st& self, int local_errno, const char *at, const char *str, size_t length)
+memcached_return_t memcached_set_errno(Memcached& self, int local_errno, const char *at, const char *str, size_t length)
 {
   memcached_string_t tmp= { str, length };
   return memcached_set_errno(self, local_errno, at, tmp);
@@ -362,7 +362,7 @@ memcached_return_t memcached_set_errno(org::libmemcached::Instance& self, int lo
   return memcached_set_errno(self, local_errno, at, tmp);
 }
 
-memcached_return_t memcached_set_errno(memcached_st& self, int local_errno, const char *at)
+memcached_return_t memcached_set_errno(Memcached& self, int local_errno, const char *at)
 {
   if (local_errno == 0)
   {
@@ -375,7 +375,7 @@ memcached_return_t memcached_set_errno(memcached_st& self, int local_errno, cons
   return rc;
 }
 
-memcached_return_t memcached_set_errno(memcached_st& memc, int local_errno, const char *at, memcached_string_t& str)
+memcached_return_t memcached_set_errno(Memcached& memc, int local_errno, const char *at, memcached_string_t& str)
 {
   if (local_errno == 0)
   {
@@ -470,7 +470,7 @@ static void _error_print(const memcached_error_t *error)
   _error_print(error->next);
 }
 
-void memcached_error_print(const memcached_st *shell)
+void memcached_error_print(const Memcached *shell)
 {
   const Memcached* self= memcached2Memcached(shell);
   if (self == NULL)
@@ -498,7 +498,7 @@ static void _error_free(memcached_error_t *error)
   }
 }
 
-void memcached_error_free(memcached_st& self)
+void memcached_error_free(Memcached& self)
 {
   _error_free(self.error_messages);
   self.error_messages= NULL;
@@ -542,7 +542,7 @@ const char *memcached_last_error_message(const memcached_st *shell)
   return memcached_strerror(memc, MEMCACHED_INVALID_ARGUMENTS);
 }
 
-bool memcached_has_current_error(memcached_st &memc)
+bool memcached_has_current_error(Memcached &memc)
 {
   if (memc.error_messages 
       and memc.error_messages->query_id == memc.query_id
index cdbc6ab15e0718e684d7a3d5b6073bf50b34d390..733f76868301f83e4f1a8c9679488ed3124c42dd 100644 (file)
 #define TOSTRING(x) STRINGIFY(x)
 #define MEMCACHED_AT __FILE__ ":" TOSTRING(__LINE__)
 
-memcached_return_t memcached_set_parser_error(memcached_st& memc,
+memcached_return_t memcached_set_parser_error(Memcached& memc,
                                               const char *at,
                                               const char *format, ...);
 
-memcached_return_t memcached_set_error(memcached_st&, memcached_return_t rc, const char *at);
+memcached_return_t memcached_set_error(Memcached&, memcached_return_t rc, const char *at);
 
 memcached_return_t memcached_set_error(org::libmemcached::Instance&, memcached_return_t rc, const char *at);
 
-memcached_return_t memcached_set_error(memcached_st&, memcached_return_t rc, const char *at, const char *str, size_t length);
+memcached_return_t memcached_set_error(Memcached&, memcached_return_t rc, const char *at, const char *str, size_t length);
 
 memcached_return_t memcached_set_error(org::libmemcached::Instance&, memcached_return_t rc, const char *at, const char *str, size_t length);
 
-memcached_return_t memcached_set_error(memcached_st& memc, memcached_return_t rc, const char *at, memcached_string_t& str);
+memcached_return_t memcached_set_error(Memcached& memc, memcached_return_t rc, const char *at, memcached_string_t& str);
 
 memcached_return_t memcached_set_error(org::libmemcached::Instance&, memcached_return_t rc, const char *at, memcached_string_t& str);
 
-memcached_return_t memcached_set_errno(memcached_st& memc, int local_errno, const char *at, memcached_string_t& str);
+memcached_return_t memcached_set_errno(Memcached& memc, int local_errno, const char *at, memcached_string_t& str);
 
 memcached_return_t memcached_set_errno(org::libmemcached::Instance&, int local_errno, const char *at, memcached_string_t& str);
 
-memcached_return_t memcached_set_errno(memcached_st& memc, int local_errno, const char *at, const char *str, size_t length);
+memcached_return_t memcached_set_errno(Memcached& memc, int local_errno, const char *at, const char *str, size_t length);
 
 memcached_return_t memcached_set_errno(org::libmemcached::Instance&, int local_errno, const char *at, const char *str, size_t length);
 
-memcached_return_t memcached_set_errno(memcached_st& memc, int local_errno, const char *at);
+memcached_return_t memcached_set_errno(Memcached& memc, int local_errno, const char *at);
 
 memcached_return_t memcached_set_errno(org::libmemcached::Instance&, int local_errno, const char *at);
 
-bool memcached_has_current_error(memcached_st&);
+bool memcached_has_current_error(Memcached&);
 
 bool memcached_has_current_error(org::libmemcached::Instance&);
 
-void memcached_error_free(memcached_st&);
+void memcached_error_free(Memcached&);
 
 void memcached_error_free(memcached_server_st&);
 
index 943a37a3b996532801e4d030a36bf02610ec9103..105283c0c957bd89a274411b4da888befe288ac5 100644 (file)
@@ -36,6 +36,6 @@
 
 #pragma once
 
-memcached_return_t initialize_query(memcached_st *self, bool increment_query_id);
+memcached_return_t initialize_query(Memcached *self, bool increment_query_id);
 
-memcached_return_t initialize_const_query(const memcached_st *self);
+memcached_return_t initialize_const_query(const Memcached *self);
index 6a9ec2439d5e279e1734ed0c0bc8056ca06c9547..664ebc4ea321b8ba78a146e869abe7dc515b12e2 100644 (file)
  *
  */
 
-#include <libmemcached/common.h>
-#include <libmemcached/assert.hpp>
+#include "libmemcached/common.h"
+#include "libmemcached/assert.hpp"
 
-memcached_return_t memcached_set_namespace(memcached_st *self, const char *key, size_t key_length)
+memcached_return_t memcached_set_namespace(Memcached& memc, const char *key, size_t key_length)
 {
-  assert_msg(self, "A NULL memcached_st was used");
-
   if (key and key_length == 0)
   { 
     WATCHPOINT_ASSERT(key_length);
-    return memcached_set_error(*self, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT, memcached_literal_param("Invalid namespace, namespace string had value but length was 0"));
+    return memcached_set_error(memc, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT, memcached_literal_param("Invalid namespace, namespace string had value but length was 0"));
   }
   else if (key_length and key == NULL)
   {
     WATCHPOINT_ASSERT(key);
-    return memcached_set_error(*self, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT, memcached_literal_param("Invalid namespace, namespace string length was > 1 but namespace string was null "));
+    return memcached_set_error(memc, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT, memcached_literal_param("Invalid namespace, namespace string length was > 1 but namespace string was null "));
   }
   else if (key and key_length)
   {
-    bool orig= self->flags.verify_key;
-    self->flags.verify_key= true;
-    if (memcached_failed(memcached_key_test(*self, (const char **)&key, &key_length, 1)))
+    bool orig= memc.flags.verify_key;
+    memc.flags.verify_key= true;
+    if (memcached_failed(memcached_key_test(memc, (const char **)&key, &key_length, 1)))
     {
-      self->flags.verify_key= orig;
-      return memcached_last_error(self);
+      memc.flags.verify_key= orig;
+      return memcached_last_error(&memc);
     }
-    self->flags.verify_key= orig;
+    memc.flags.verify_key= orig;
 
     if ((key_length > MEMCACHED_PREFIX_KEY_MAX_SIZE -1))
     {
-      return memcached_set_error(*self, MEMCACHED_KEY_TOO_BIG, MEMCACHED_AT);
+      return memcached_set_error(memc, MEMCACHED_KEY_TOO_BIG, MEMCACHED_AT);
     }
 
-    memcached_array_free(self->_namespace);
-    self->_namespace= memcached_strcpy(self, key, key_length);
+    memcached_array_free(memc._namespace);
+    memc._namespace= memcached_strcpy(&memc, key, key_length);
 
-    if (not self->_namespace)
+    if (memc._namespace == NULL)
     {
-      return memcached_set_error(*self, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT);
+      return memcached_set_error(memc, MEMCACHED_MEMORY_ALLOCATION_FAILURE, MEMCACHED_AT);
     }
   }
   else
   {
-    memcached_array_free(self->_namespace);
-    self->_namespace= NULL;
+    memcached_array_free(memc._namespace);
+    memc._namespace= NULL;
   }
 
   return MEMCACHED_SUCCESS;
 }
 
-const char * memcached_get_namespace(memcached_st *self)
+const char * memcached_get_namespace(Memcached& memc)
 {
-  if (self->_namespace == NULL)
+  if (memc._namespace == NULL)
   {
     return NULL;
   }
 
-  return memcached_array_string(self->_namespace);
+  return memcached_array_string(memc._namespace);
 }
index 04622571d569edfac74d7886006bc6d0434cb4ef..0c98ce4c8192d4044074d2a275c511f2282c738e 100644 (file)
 #pragma once
 
 #ifdef __cplusplus
-extern "C" {
-#endif
 
-LIBMEMCACHED_LOCAL
-  memcached_return_t memcached_set_namespace(memcached_st *self, const char *str, size_t length);
+memcached_return_t memcached_set_namespace(Memcached&, const char *str, size_t length);
 
-LIBMEMCACHED_LOCAL
-  const char * memcached_get_namespace(memcached_st *self);
+const char * memcached_get_namespace(Memcached&);
 
-#ifdef __cplusplus
-}
-#endif
+#endif // __cplusplus
index cf7ed41e6936492c0d6c44c3532b4cfdfb74b646..96772ff380ac064d6182da66dd94ae6f89f04c97 100644 (file)
@@ -658,7 +658,11 @@ static memcached_return_t binary_read_one_response(org::libmemcached::Instance*
     case PROTOCOL_BINARY_CMD_DELETE:
     case PROTOCOL_BINARY_CMD_TOUCH:
       {
-        WATCHPOINT_ASSERT(bodylen == 0);
+        if (bodylen != 0)
+        {
+          char touch_buffer[32]; // @todo document this number
+          rc= memcached_safe_read(instance, buffer, sizeof(touch_buffer));
+        }
         return MEMCACHED_SUCCESS;
       }
 
index 8af3a72fdca656c5a85abf9c62877fb29d93179f..92c5dc45143d19ba61f80739447f1f667cb05163 100644 (file)
@@ -55,7 +55,7 @@ memcached_return_t memcached_virtual_bucket_create(memcached_st *self,
                                                    const uint32_t buckets,
                                                    const uint32_t replicas)
 {
-  if (! self || ! host_map || ! buckets)
+  if (self == NULL || host_map == NULL || buckets == 0U)
   {
     return MEMCACHED_INVALID_ARGUMENTS;
   }
@@ -93,37 +93,31 @@ memcached_return_t memcached_virtual_bucket_create(memcached_st *self,
 
 void memcached_virtual_bucket_free(memcached_st *self)
 {
-  if (self == NULL)
+  if (self)
   {
-    return;
-  }
-
-  if (self->virtual_bucket == NULL)
-  {
-    return;
+    if (self->virtual_bucket)
+    {
+      free(self->virtual_bucket);
+      self->virtual_bucket= NULL;
+    }
   }
-
-  free(self->virtual_bucket);
-  self->virtual_bucket= NULL;
 }
 
 uint32_t memcached_virtual_bucket_get(const memcached_st *self, uint32_t digest)
 {
-  if (self == NULL)
+  if (self)
   {
-    return 0;
-  }
-
-  if (self->virtual_bucket == NULL)
-  {
-    return 0;
-  }
+    if (self->virtual_bucket)
+    {
+      if (self->virtual_bucket)
+      {
+        uint32_t result= (uint32_t) (digest & (self->virtual_bucket->size -1));
+        return self->virtual_bucket->buckets[result].master;
+      }
 
-  if (self->virtual_bucket)
-  {
-    uint32_t result= (uint32_t) (digest & (self->virtual_bucket->size -1));
-    return self->virtual_bucket->buckets[result].master;
+      return (uint32_t) (digest & (self->number_of_hosts -1));
+    }
   }
 
-  return (uint32_t) (digest & (self->number_of_hosts -1));
+  return 0;
 }
index e1c38536f85a556b134183f46655abc199585e75..9a63c38fa2a5a07b3cd07bfb26efd7ec6d42320c 100644 (file)
@@ -2,7 +2,7 @@
  * 
  *  Libmemcached library
  *
- *  Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ *  Copyright (C) 2011-2013 Data Differential, http://datadifferential.com/
  *  All rights reserved.
  *
  *  Redistribution and use in source and binary forms, with or without
 extern "C" {
 #endif
 
-LIBMEMCACHED_LOCAL
 memcached_return_t memcached_virtual_bucket_create(memcached_st *self,
                                                    const uint32_t *host_map,
                                                    const uint32_t *forward_map,
                                                    const uint32_t buckets,
                                                    const uint32_t replicas);
 
-LIBMEMCACHED_LOCAL
 uint32_t memcached_virtual_bucket_get(const memcached_st *self, uint32_t digest);
 
-LIBMEMCACHED_LOCAL
 void memcached_virtual_bucket_free(memcached_st *self);
 
 #ifdef __cplusplus
index 9bd562a2daf10923cfd4aa60cb9b61713c939d7c..044273fd4d0a2d5a7c3033bfebdc598d614a27f8 100644 (file)
@@ -88,8 +88,6 @@ test_return_t test_memcached_touch(memcached_st *memc)
   test_compare(MEMCACHED_SUCCESS,
                memcached_touch(memc, test_literal_param(__func__), 60 *60));
 
-  test_skip(false ,memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL));
-
   rc= memcached_touch(memc, test_literal_param(__func__), 60 *60 *24 *60);
   test_compare(MEMCACHED_SUCCESS, rc);
 
@@ -140,7 +138,6 @@ test_return_t test_memcached_touch_by_key(memcached_st *memc)
                                       test_literal_param(__func__),
                                       60 *60));
 
-  test_skip(false ,memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL));
   test_compare(MEMCACHED_SUCCESS,
                memcached_touch_by_key(memc,
                                       test_literal_param("grouping_key"),