Adding support for CRC Hashing
[awesomized/libmemcached] / tests / test.c
index a625206981a400ac0fb29514b9245252ec121c21..3945df8b077d41c177f151c69b5b5ce55e74dd2c 100644 (file)
@@ -37,6 +37,43 @@ void allocation_test(memcached_st *not_used)
   memcached_free(memc);
 }
 
+void clone_test(memcached_st *memc)
+{
+  /* All null? */
+  {
+    memcached_st *clone;
+    clone= memcached_clone(NULL, NULL);
+    assert(clone);
+    memcached_free(clone);
+  }
+
+  /* Can we init from null? */
+  {
+    memcached_st *clone;
+    clone= memcached_clone(NULL, memc);
+    assert(clone);
+    memcached_free(clone);
+  }
+
+  /* Can we init from struct? */
+  {
+    memcached_st declared_clone;
+    memcached_st *clone;
+    clone= memcached_clone(&declared_clone, NULL);
+    assert(clone);
+    memcached_free(clone);
+  }
+
+  /* Can we init from struct? */
+  {
+    memcached_st declared_clone;
+    memcached_st *clone;
+    clone= memcached_clone(&declared_clone, memc);
+    assert(clone);
+    memcached_free(clone);
+  }
+}
+
 void connection_test(memcached_st *memc)
 {
   memcached_return rc;
@@ -572,9 +609,11 @@ void user_supplied_bug2(memcached_st *memc)
   memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE, &setter);
   getter = memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE);
   getter = memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE);
-#endif
 
   for (x= 0, errors= 0, total= 0 ; total < 20 * 1024576 ; x++)
+#endif
+
+  for (x= 0, errors= 0, total= 0 ; total < 24576 ; x++)
   {
     memcached_return rc= MEMCACHED_SUCCESS;
     char buffer[SMALL_STRING_LEN];
@@ -771,6 +810,11 @@ void pre_md5(memcached_st *memc)
   memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_MD5_HASHING, NULL);
 }
 
+void pre_crc(memcached_st *memc)
+{
+  memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_CRC_HASHING, NULL);
+}
+
 void pre_nodelay(memcached_st *memc)
 {
   memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_NO_BLOCK, NULL);
@@ -832,6 +876,7 @@ int main(int argc, char *argv[])
     {"flush", 0, flush_test },
     {"init", 0, init_test },
     {"allocation", 0, allocation_test },
+    {"clone_test", 0, clone_test },
     {"error", 0, error_test },
     {"set", 0, set_test },
     {"set2", 0, set_test2 },
@@ -877,15 +922,12 @@ int main(int argc, char *argv[])
     {"nonblock", pre_nonblock, 0, tests},
     {"nodelay", pre_nodelay, 0, tests},
     {"md5", pre_md5, 0, tests},
+    {"crc", pre_crc, 0, tests},
     {"string", 0, 0, string_tests},
     {"user", 0, 0, user_tests},
     {0, 0, 0, 0}
   };
 
-  /*
-  unsigned int next;
-  for (next= 0; collection[next].name; next++)
-*/
   collection_st *next;
   for (next= collection; next->name; next++)
   {