Import/Merge of libtest latest.
[m6w6/libmemcached] / tests / libmemcached-1.0 / generate.cc
index 4f1db4c91fdbc435d6c31e9d8c9cae77100f778a..59fa2b2ac63ef62a09c243f39745571ed7af2fff 100644 (file)
@@ -38,7 +38,7 @@
 #include <config.h>
 #include <libtest/test.hpp>
 
-#include <libmemcached/util.h>
+#include <libmemcachedutil-1.0/util.h>
 #include <libmemcached/is.h>
 
 #include <tests/libmemcached-1.0/generate.h>
 
 using namespace libtest;
 
-static pairs_st *global_pairs;
+static pairs_st *global_pairs= NULL;
 static const char *global_keys[GLOBAL_COUNT];
 static size_t global_keys_length[GLOBAL_COUNT];
 static size_t global_count= 0;
 
-test_return_t cleanup_pairs(memcached_st *memc)
+test_return_t cleanup_pairs(memcached_st*)
 {
-  (void)memc;
   pairs_free(global_pairs);
+  global_pairs= NULL;
 
   return TEST_SUCCESS;
 }
@@ -80,7 +80,7 @@ static test_return_t generate_pairs(memcached_st *)
   return TEST_SUCCESS;
 }
 
-test_return_t generate_large_pairs(memcached_st *)
+test_return_t generate_large_pairs(memcached_st *memc)
 {
   global_pairs= pairs_generate(GLOBAL2_COUNT, MEMCACHED_MAX_BUFFER+10);
   global_count= GLOBAL2_COUNT;
@@ -91,6 +91,11 @@ test_return_t generate_large_pairs(memcached_st *)
     global_keys_length[x]=  global_pairs[x].key_length;
   }
 
+  memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, true);
+  unsigned int check_execute= execute_set(memc, global_pairs, global_count);
+
+  test_true(check_execute > (global_count / 2));
+
   return TEST_SUCCESS;
 }
 
@@ -100,7 +105,10 @@ test_return_t generate_data(memcached_st *memc)
 
   unsigned int check_execute= execute_set(memc, global_pairs, global_count);
 
-  test_compare_warn_hint(global_count, check_execute, "Possible false, positive, memcached may have ejected key/value based on memory needs");
+  /* Possible false, positive, memcached may have ejected key/value based on
+   * memory needs. */
+
+  test_true(check_execute > (global_count / 2));
 
   return TEST_SUCCESS;
 }
@@ -126,7 +134,11 @@ test_return_t generate_data_with_stats(memcached_st *memc)
       memcached_server_instance_st instance=
         memcached_server_instance_by_position(memc, host_index);
 
-      printf("\nserver %u|%s|%u bytes: %llu\n", host_index, instance->hostname, instance->port, (unsigned long long)(stat_p + host_index)->bytes);
+      printf("\nserver %u|%s|%u bytes: %llu\n",
+             host_index,
+             memcached_server_name(instance),
+             memcached_server_port(instance),
+             (unsigned long long)(stat_p + host_index)->bytes);
     }
     test_true((unsigned long long)(stat_p + host_index)->bytes);
   }
@@ -198,7 +210,10 @@ test_return_t get_read(memcached_st *memc)
       free(return_value);
     }
   }
-  test_compare_warn_hint(global_count, keys_returned, "Possible false, positive, memcached may have ejected key/value based on memory needs");
+  /*
+    Possible false, positive, memcached may have ejected key/value based on memory needs.
+  */
+  test_true(keys_returned > (global_count / 2));
 
   return TEST_SUCCESS;
 }
@@ -215,8 +230,7 @@ test_return_t mget_read(memcached_st *memc)
   {
     unsigned int keys_returned;
     test_compare(TEST_SUCCESS, fetch_all_results(memc, keys_returned));
-    test_true(keys_returned > 0);
-    test_compare_warn_hint(global_count, keys_returned, "Possible false, positive, memcached may have ejected key/value based on memory needs");
+    test_true(keys_returned > (global_count / 2));
   }
 
   return TEST_SUCCESS;
@@ -324,7 +338,10 @@ test_return_t delete_generate(memcached_st *memc)
       total++;
     }
   }
-  test_compare_warn_hint(global_count, total, "Possible false, positive, memcached may have ejected key/value based on memory needs");
+  /*
+    Possible false, positive, memcached may have ejected key/value based on memory needs.
+  */
+  test_true(total > (global_count / 2));
 
   return TEST_SUCCESS;
 }
@@ -341,7 +358,11 @@ test_return_t delete_buffer_generate(memcached_st *memc)
       total++;
     }
   }
-  test_compare_warn_hint(global_count, total, "Possible false, positive, memcached may have ejected key/value based on memory needs");
+
+  /*
+     Possible false, positive, memcached may have ejected key/value based on memory needs.
+  */
+  test_true(total > (global_count / 2));
 
   return TEST_SUCCESS;
 }