Rename non-api call, from looking like an API call.
[m6w6/libmemcached] / tests / libmemcached-1.0 / mem_functions.cc
index 5c0ada030325a56324fa00811b8d9e5f12d5d276..cb4666c3153b05fe4cf366ce77c39d1f8941881a 100644 (file)
@@ -1026,12 +1026,11 @@ test_return_t bad_key_test(memcached_st *memc)
 }
 
 #define READ_THROUGH_VALUE "set for me"
-static memcached_return_t read_through_trigger(memcached_st *memc,
-                                               char *key,
-                                               size_t key_length,
+static memcached_return_t read_through_trigger(memcached_st *, // memc
+                                               char *, // key
+                                               size_t, //  key_length,
                                                memcached_result_st *result)
 {
-  (void)memc;(void)key;(void)key_length;
   return memcached_result_set_value(result, READ_THROUGH_VALUE, strlen(READ_THROUGH_VALUE));
 }
 
@@ -1062,8 +1061,8 @@ test_return_t read_through(memcached_st *memc)
                         &string_length, &flags, &rc);
 
   test_compare(MEMCACHED_SUCCESS, rc);
-  test_compare(string_length, sizeof(READ_THROUGH_VALUE) -1);
-  test_true(string[sizeof(READ_THROUGH_VALUE) -1] == 0);
+  test_compare(sizeof(READ_THROUGH_VALUE) -1, string_length);
+  test_compare(0, string[sizeof(READ_THROUGH_VALUE) -1]);
   test_strcmp(READ_THROUGH_VALUE, string);
   free(string);
 
@@ -4349,6 +4348,34 @@ test_return_t wrong_failure_counter_two_test(memcached_st *memc)
   return TEST_SUCCESS;
 }
 
+test_return_t regression_996813_TEST(memcached_st *)
+{
+  memcached_st* memc= memcached_create(NULL);
+
+  test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_DISTRIBUTION, MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA));
+  test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, 1));
+  test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_TCP_NODELAY, 1));
+  test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1));
+  test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, 1));
+  test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT, 300));
+  test_compare(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_RETRY_TIMEOUT, 30));
+
+  // We will never connect to these servers
+  in_port_t base_port= 11211;
+  for (size_t x= 0; x < 17; x++)
+  {
+    test_compare(MEMCACHED_SUCCESS, memcached_server_add(memc, "10.2.3.4", base_port +x));
+  }
+  test_compare(16U, memcached_generate_hash(memc, test_literal_param("SZ6hu0SHweFmpwpc0w2R")));
+  test_compare(1U, memcached_generate_hash(memc, test_literal_param("SQCK9eiCf53YxHWnYA.o")));
+  test_compare(10U, memcached_generate_hash(memc, test_literal_param("SUSDkGXuuZC9t9VhMwa.")));
+  test_compare(8U, memcached_generate_hash(memc, test_literal_param("SnnqnJARfaCNT679iAF_")));
+
+  memcached_free(memc);
+
+  return TEST_SUCCESS;
+}
+
 
 /*
  * Test that ensures mget_execute does not end into recursive calls that finally fails
@@ -4562,6 +4589,48 @@ test_return_t regression_bug_490520(memcached_st *original_memc)
 }
 
 
+test_return_t regression_994772_TEST(memcached_st* memc)
+{
+  test_skip(MEMCACHED_SUCCESS, memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1));
+
+  test_compare(MEMCACHED_SUCCESS,
+               memcached_set(memc,
+                             test_literal_param(__func__), // Key
+                             test_literal_param(__func__), // Value
+                             time_t(0), uint32_t(0)));
+
+  const char *keys[] = { __func__ };
+  size_t key_length[]= { strlen(__func__) };
+  test_compare(MEMCACHED_SUCCESS,
+               memcached_mget(memc, keys, key_length, 1));
+
+  memcached_return_t rc;
+  memcached_result_st *results= memcached_fetch_result(memc, NULL, &rc);
+  test_true(results);
+  test_compare(MEMCACHED_SUCCESS, rc);
+
+  test_strcmp(__func__, memcached_result_value(results));
+  uint64_t cas_value= memcached_result_cas(results);
+  test_true(cas_value);
+
+  memcached_result_free(results);
+
+  // Bad cas value, sanity check 
+  test_true(cas_value != 9999);
+  test_compare(MEMCACHED_END,
+               memcached_cas(memc,
+                             test_literal_param(__func__), // Key
+                             test_literal_param(__FILE__), // Value
+                             time_t(0), uint32_t(0), 9999));
+
+  test_compare(MEMCACHED_SUCCESS, memcached_set(memc,
+                                                "different", strlen("different"), // Key
+                                                test_literal_param(__FILE__), // Value
+                                                time_t(0), uint32_t(0)));
+
+  return TEST_SUCCESS;
+}
+
 test_return_t regression_bug_854604(memcached_st *)
 {
   char buffer[1024];
@@ -4582,7 +4651,7 @@ test_return_t regression_bug_854604(memcached_st *)
   return TEST_SUCCESS;
 }
 
-static void memcached_die(memcached_st* mc, memcached_return error, const char* what, uint32_t it)
+static void die_message(memcached_st* mc, memcached_return error, const char* what, uint32_t it)
 {
   fprintf(stderr, "Iteration #%u: ", it);
 
@@ -4618,19 +4687,19 @@ test_return_t regression_bug_(memcached_st *memc)
     rc= memcached_behavior_set(mc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1);
     if (rc != MEMCACHED_SUCCESS)
     {
-      memcached_die(mc, rc, "memcached_behavior_set", x);
+      die_message(mc, rc, "memcached_behavior_set", x);
     }
 
     rc= memcached_behavior_set(mc, MEMCACHED_BEHAVIOR_CACHE_LOOKUPS, 1);
     if (rc != MEMCACHED_SUCCESS)
     {
-      memcached_die(mc, rc, "memcached_behavior_set", x);
+      die_message(mc, rc, "memcached_behavior_set", x);
     }
 
     rc= memcached_server_add(mc, remote_server, 0);
     if (rc != MEMCACHED_SUCCESS)
     {
-      memcached_die(mc, rc, "memcached_server_add", x);
+      die_message(mc, rc, "memcached_server_add", x);
     }
 
     const char *set_key= "akey";
@@ -4650,7 +4719,7 @@ test_return_t regression_bug_(memcached_st *memc)
                                  &get_value_flags, &rc);
         if (rc != MEMCACHED_SUCCESS)
         {
-          memcached_die(mc, rc, "memcached_get", x);
+          die_message(mc, rc, "memcached_get", x);
         }
         else
         {
@@ -4674,7 +4743,7 @@ test_return_t regression_bug_(memcached_st *memc)
                        );
       if (rc != MEMCACHED_SUCCESS)
       {
-        memcached_die(mc, rc, "memcached_set", x);
+        die_message(mc, rc, "memcached_set", x);
       }
     }