Improve tesing of command line apps
[m6w6/libmemcached] / tests / mem_functions.cc
index b4eed62b4cb1f6bfbaecd0498c1592fd936fb2bc..b56c47bc26b714383752e5fe2a8e56929d32e494 100644 (file)
@@ -821,10 +821,11 @@ static test_return_t bad_key_test(memcached_st *memc)
   memcached_st *memc_clone;
   size_t max_keylen= 0xffff;
 
-  // Just skip if we are in binary mode.
   uint64_t query_id= memcached_query_id(memc);
-  if (memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL))
-    return TEST_SKIPPED;
+  
+  // Just skip if we are in binary mode.
+  test_skip(false, memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL));
+
   test_compare(query_id, memcached_query_id(memc)); // We should not increase the query_id for memcached_behavior_get()
 
   memc_clone= memcached_clone(NULL, memc);
@@ -890,20 +891,16 @@ static test_return_t bad_key_test(memcached_st *memc)
 
     std::vector <char> longkey;
     longkey.insert(longkey.end(), max_keylen +1, 'a');
-    if (longkey.size())
+    test_compare(longkey.size(), max_keylen +1);
     {
       size_t string_length;
-      char *string= memcached_get(memc_clone, &longkey[0], max_keylen,
-                                  &string_length, &flags, &rc);
+      test_null(memcached_get(memc_clone, &longkey[0], max_keylen, &string_length, &flags, &rc));
       test_compare(MEMCACHED_NOTFOUND, rc);
       test_zero(string_length);
-      test_false(string);
 
-      string= memcached_get(memc_clone, &longkey[0], max_keylen +1,
-                            &string_length, &flags, &rc);
+      test_null(memcached_get(memc_clone, &longkey[0], max_keylen +1, &string_length, &flags, &rc));
       test_compare(MEMCACHED_BAD_KEY_PROVIDED, rc);
       test_zero(string_length);
-      test_false(string);
     }
   }
 
@@ -992,12 +989,11 @@ static memcached_return_t delete_trigger(memcached_st *,
 static test_return_t delete_through(memcached_st *memc)
 {
   memcached_trigger_delete_key_fn callback;
-  memcached_return_t rc;
 
   callback= (memcached_trigger_delete_key_fn)delete_trigger;
 
-  rc= memcached_callback_set(memc, MEMCACHED_CALLBACK_DELETE_TRIGGER, *(void**)&callback);
-  test_compare(MEMCACHED_SUCCESS, rc);
+  test_compare(MEMCACHED_SUCCESS, 
+               memcached_callback_set(memc, MEMCACHED_CALLBACK_DELETE_TRIGGER, *(void**)&callback));
 
   return TEST_SUCCESS;
 }
@@ -4007,13 +4003,12 @@ static test_return_t pre_settimer(memcached_st *memc)
   return TEST_SUCCESS;
 }
 
-static test_return_t poll_timeout(memcached_st *memc)
+static test_return_t MEMCACHED_BEHAVIOR_POLL_TIMEOUT_test(memcached_st *memc)
 {
   const uint64_t timeout= 100; // Not using, just checking that it sets
 
   memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, timeout);
 
-
   test_compare(timeout, memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_POLL_TIMEOUT));
 
   return TEST_SUCCESS;
@@ -4027,12 +4022,12 @@ static test_return_t noreply_test(memcached_st *memc)
                memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, 1));
   test_compare(MEMCACHED_SUCCESS, 
                memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS, 1));
-  test_true(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NOREPLY) == 1);
-  test_true(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS) == 1);
-  test_true(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS) == 1);
+  test_compare(1LLU, memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_NOREPLY));
+  test_compare(1LLU, memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS));
+  test_compare(1LLU, memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_SUPPORT_CAS));
 
   memcached_return_t ret;
-  for (int count=0; count < 5; ++count)
+  for (int count= 0; count < 5; ++count)
   {
     for (size_t x= 0; x < 100; ++x)
     {
@@ -5842,6 +5837,7 @@ test_st behavior_tests[] ={
   {"MEMCACHED_BEHAVIOR_CORK", false, (test_callback_fn*)MEMCACHED_BEHAVIOR_CORK_test},
   {"MEMCACHED_BEHAVIOR_TCP_KEEPALIVE", false, (test_callback_fn*)MEMCACHED_BEHAVIOR_TCP_KEEPALIVE_test},
   {"MEMCACHED_BEHAVIOR_TCP_KEEPIDLE", false, (test_callback_fn*)MEMCACHED_BEHAVIOR_TCP_KEEPIDLE_test},
+  {"MEMCACHED_BEHAVIOR_POLL_TIMEOUT", false, (test_callback_fn*)MEMCACHED_BEHAVIOR_POLL_TIMEOUT_test},
   {0, 0, 0}
 };
 
@@ -6126,7 +6122,6 @@ collection_st collection[] ={
   {"ketama_auto_eject_hosts", (test_callback_fn*)pre_behavior_ketama, 0, ketama_auto_eject_hosts},
   {"unix_socket", (test_callback_fn*)pre_unix_socket, 0, tests},
   {"unix_socket_nodelay", (test_callback_fn*)pre_nodelay, 0, tests},
-  {"poll_timeout", (test_callback_fn*)poll_timeout, 0, tests},
   {"gets", (test_callback_fn*)enable_cas, 0, tests},
   {"consistent_crc", (test_callback_fn*)enable_consistent_crc, 0, tests},
   {"consistent_hsieh", (test_callback_fn*)enable_consistent_hsieh, 0, tests},