memcap works, though it does nothing useful at the moment :)
[m6w6/libmemcached] / tests / test.c
index abd4c8ae70c495db872f8d043b7d77ef1659cd1e..3ebb24297a6f32759d1070c5d0dfeab17ab96353 100644 (file)
@@ -29,7 +29,7 @@ void connection_test(void)
   memcached_st *memc;
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   assert(memc);
   memcached_deinit(memc);
@@ -59,7 +59,7 @@ void set_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_set(memc, key, strlen(key), 
                     value, strlen(value),
@@ -78,7 +78,7 @@ void add_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_add(memc, key, strlen(key), 
                     value, strlen(value),
@@ -97,7 +97,7 @@ void replace_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_replace(memc, key, strlen(key), 
                     value, strlen(value),
@@ -116,7 +116,7 @@ void delete_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_set(memc, key, strlen(key), 
                     value, strlen(value),
@@ -136,7 +136,7 @@ void flush_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   rc= memcached_flush(memc, 0);
   assert(rc == MEMCACHED_SUCCESS);
@@ -155,7 +155,7 @@ void get_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
   
   string= memcached_get(memc, key, strlen(key),
@@ -180,7 +180,7 @@ void get_test2(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -221,7 +221,7 @@ void get_test3(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -243,12 +243,57 @@ void get_test3(void)
   memcached_deinit(memc);
 }
 
+void get_test4(void)
+{
+  memcached_st *memc;
+  memcached_return rc;
+  char *key= "foo";
+  char *value;
+  size_t value_length= 8191;
+  char *string;
+  size_t string_length;
+  uint16_t flags;
+  int x;
+
+  value = (char*)malloc(value_length);
+  assert(value);
+
+  for (x= 0; x < value_length; x++)
+    value[x] = (char) (x % 127);
+
+  memc= memcached_init(NULL);
+  assert(memc);
+  rc= memcached_server_add(memc, "localhost", 0);
+  assert(rc == MEMCACHED_SUCCESS);
+
+  rc= memcached_set(memc, key, strlen(key), 
+                    value, value_length,
+                    (time_t)0, (uint16_t)0);
+  assert(rc == MEMCACHED_SUCCESS);
+
+  for (x= 0; x < 10; x++)
+  {
+    string= memcached_get(memc, key, strlen(key),
+                          &string_length, &flags, &rc);
+
+    assert(rc == MEMCACHED_SUCCESS);
+    assert(string);
+    assert(string_length == value_length);
+    assert(!memcmp(string, value, string_length));
+    free(string);
+  }
+
+  free(value);
+
+  memcached_deinit(memc);
+}
+
 void stats_servername_test(void)
 {
   memcached_return rc;
   memcached_stat_st stat;
   rc= memcached_stat_servername(&stat, NULL,
-                                 "zim.tangent.org", 
+                                 "localhost", 
                                  MEMCACHED_DEFAULT_PORT);
 }
 
@@ -262,7 +307,7 @@ void increment_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -293,7 +338,7 @@ void decrement_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -323,7 +368,7 @@ void quit_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   rc= memcached_set(memc, key, strlen(key), 
@@ -356,7 +401,7 @@ void mget_test(void)
 
   memc= memcached_init(NULL);
   assert(memc);
-  rc= memcached_server_add(memc, "zim.tangent.org", 0);
+  rc= memcached_server_add(memc, "localhost", 0);
   assert(rc == MEMCACHED_SUCCESS);
 
   /* We need to empty the server before continueing test */
@@ -387,8 +432,8 @@ void mget_test(void)
   assert(rc == MEMCACHED_SUCCESS);
 
   x= 0;
-  while (return_value= memcached_fetch(memc, return_key, &return_key_length, 
-                      &return_value_length, &flags, &rc))
+  while ((return_value= memcached_fetch(memc, return_key, &return_key_length, 
+                                        &return_value_length, &flags, &rc)))
   {
     assert(return_value);
     assert(rc == MEMCACHED_SUCCESS);
@@ -432,7 +477,7 @@ void get_stats(void)
 
  memc= memcached_init(NULL);
  assert(memc);
- rc= memcached_server_add(memc, "zim.tangent.org", 0);
+ rc= memcached_server_add(memc, "localhost", 0);
  assert(rc == MEMCACHED_SUCCESS);
 
  stat= memcached_stat(memc, NULL, &rc);
@@ -466,9 +511,9 @@ void get_stats_multiple(void)
 
  memc= memcached_init(NULL);
  assert(memc);
- rc= memcached_server_add(memc, "zim.tangent.org", 0);
+ rc= memcached_server_add(memc, "localhost", 0);
  assert(rc == MEMCACHED_SUCCESS);
- rc= memcached_server_add(memc, "zim.tangent.org", 5555);
+ rc= memcached_server_add(memc, "localhost", 5555);
  assert(rc == MEMCACHED_SUCCESS);
 
  stat= memcached_stat(memc, NULL, &rc);
@@ -491,8 +536,80 @@ void get_stats_multiple(void)
  memcached_deinit(memc);
 }
 
+void add_host_test(void)
+{
+  unsigned int x;
+  memcached_st *memc;
+  memcached_server_st *servers;
+  memcached_return rc;
+  char servername[]= "0.example.com";
+
+  memc= memcached_init(NULL);
+  assert(memc);
+  rc= memcached_server_add(memc, "localhost", 0);
+  assert(rc == MEMCACHED_SUCCESS);
+
+  servers= memcached_server_list_append(NULL, servername, 400, &rc);
+  assert(servers);
+  assert(1 == memcached_server_list_count(servers));
+
+  for (x= 2; x < 20; x++)
+  {
+    char buffer[SMALL_STRING_LEN];
+
+    snprintf(buffer, SMALL_STRING_LEN, "%u.example.com", 400+x);
+    servers= memcached_server_list_append(servers, buffer, 401, 
+                                     &rc);
+    assert(rc == MEMCACHED_SUCCESS);
+    assert(x == memcached_server_list_count(servers));
+  }
+
+  rc= memcached_server_push(memc, servers);
+  assert(rc == MEMCACHED_SUCCESS);
+  rc= memcached_server_push(memc, servers);
+  assert(rc == MEMCACHED_SUCCESS);
+
+  memcached_server_list_free(servers);
+  memcached_deinit(memc);
+}
+
+void add_host_test1(void)
+{
+  unsigned int x;
+  memcached_st *memc;
+  memcached_server_st *servers;
+  memcached_return rc;
+  char servername[]= "0.example.com";
+
+  memc= memcached_init(NULL);
+  assert(memc);
+
+  servers= memcached_server_list_append(NULL, servername, 400, &rc);
+  assert(servers);
+  assert(1 == memcached_server_list_count(servers));
+
+  for (x= 2; x < 20; x++)
+  {
+    char buffer[SMALL_STRING_LEN];
+
+    snprintf(buffer, SMALL_STRING_LEN, "%u.example.com", 400+x);
+    servers= memcached_server_list_append(servers, buffer, 401, 
+                                     &rc);
+    assert(rc == MEMCACHED_SUCCESS);
+    assert(x == memcached_server_list_count(servers));
+  }
+
+  rc= memcached_server_push(memc, servers);
+  assert(rc == MEMCACHED_SUCCESS);
+  rc= memcached_server_push(memc, servers);
+  assert(rc == MEMCACHED_SUCCESS);
+
+  memcached_server_list_free(servers);
+  memcached_deinit(memc);
+}
+
 
-int main(int argc, char argvp[])
+int main(int argc, char *argv[])
 {
   /* Clean the server before beginning testing */
   flush_test();
@@ -509,6 +626,7 @@ int main(int argc, char argvp[])
   get_test();
   get_test2();
   get_test3();
+  get_test4();
   stats_servername_test();
 
   increment_test();
@@ -516,6 +634,7 @@ int main(int argc, char argvp[])
   quit_test();
   mget_test();
   get_stats();
+  add_host_test();
 
   /* The multiple tests */
   if (argc == 2)