Remove assert
[m6w6/libmemcached] / libtest / unittest.cc
index 2d171dfdfae7cea3d3dc37b09f73e184bd4f0317..484b444393d5e0adeb254c597a26966999eed95c 100644 (file)
@@ -237,7 +237,7 @@ static test_return_t gearmand_cycle_test(void *object)
 #endif
 
   const char *argv[1]= { "cycle_gearmand" };
-  test_true(server_startup(*servers, "gearmand", 9999, 1, argv));
+  test_true(server_startup(*servers, "gearmand", get_free_port(), 1, argv));
 
   return TEST_SUCCESS;
 }
@@ -251,7 +251,7 @@ static test_return_t memcached_cycle_test(void *object)
   {
     test_true(has_memcached_binary());
     const char *argv[1]= { "cycle_memcached" };
-    test_true(server_startup(*servers, "memcached", 9998, 1, argv));
+    test_true(server_startup(*servers, "memcached", get_free_port(), 1, argv));
 
     return TEST_SUCCESS;
   }
@@ -270,7 +270,7 @@ static test_return_t memcached_socket_cycle_test(void *object)
     {
       test_true(has_memcached_binary());
       const char *argv[1]= { "cycle_memcached" };
-      test_true(servers->start_socket_server("memcached", 9997, 1, argv));
+      test_true(servers->start_socket_server("memcached", get_free_port(), 1, argv));
 
       return TEST_SUCCESS;
     }
@@ -295,7 +295,7 @@ static test_return_t memcached_sasl_test(void *object)
     {
       test_true(has_memcached_sasl_binary());
       const char *argv[1]= { "cycle_memcached_sasl" };
-      test_true(server_startup(*servers, "memcached-sasl", 9996, 1, argv));
+      test_true(server_startup(*servers, "memcached-sasl", get_free_port(), 1, argv));
 
       return TEST_SUCCESS;
     }
@@ -506,6 +506,43 @@ static test_return_t application_wait_services_BINARY2(void *)
   return TEST_SUCCESS;
 }
 
+static test_return_t get_free_port_TEST(void *)
+{
+  in_port_t ret_port;
+  test_true_hint((ret_port= get_free_port()), ret_port);
+  test_true(get_free_port() != default_port());
+  test_true(get_free_port() != get_free_port());
+
+  return TEST_SUCCESS;
+}
+
+static uint32_t fatal_calls= 0;
+
+static test_return_t fatal_TEST(void *)
+{
+  test_compare(fatal_calls++, fatal::disabled_counter());
+  throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "Testing va_args based fatal(): %d", 10); 
+
+  return TEST_SUCCESS;
+}
+
+static test_return_t fatal_message_TEST(void *)
+{
+  test_compare(fatal_calls++, fatal::disabled_counter());
+  throw fatal_message("Fatal test");
+
+  return TEST_SUCCESS;
+}
+
+static test_return_t default_port_TEST(void *)
+{
+  in_port_t ret_port= default_port();
+  test_compare(ret_port, libtest::default_port());
+  test_compare(ret_port, libtest::default_port());
+
+  return TEST_SUCCESS;
+}
+
 static test_return_t check_for_gearman(void *)
 {
   test_skip(true, HAVE_LIBGEARMAN);
@@ -590,6 +627,18 @@ test_st cmdline_tests[] ={
   {0, 0, 0}
 };
 
+test_st get_free_port_TESTS[] ={
+  {"get_free_port()", 0, get_free_port_TEST },
+  {"default_port()", 0, default_port_TEST },
+  {0, 0, 0}
+};
+
+test_st fatal_message_TESTS[] ={
+  {"libtest::fatal", 0, fatal_TEST },
+  {"fatal_message()", 0, fatal_message_TEST },
+  {0, 0, 0}
+};
+
 test_st application_tests[] ={
   {"vchar_t", 0, vchar_t_TEST },
   {"true", 0, application_true_BINARY },
@@ -607,6 +656,18 @@ static test_return_t check_for_curl(void *)
   return TEST_SUCCESS;
 }
 
+static test_return_t disable_fatal_exception(void *)
+{
+  fatal::disable();
+  return TEST_SUCCESS;
+}
+
+static test_return_t enable_fatal_exception(void *)
+{
+  fatal::disable();
+  return TEST_SUCCESS;
+}
+
 test_st http_tests[] ={
   {"GET", 0, GET_TEST },
   {"POST", 0, POST_TEST },
@@ -625,6 +686,8 @@ collection_st collection[] ={
   {"cmdline", 0, 0, cmdline_tests},
   {"application", 0, 0, application_tests},
   {"http", check_for_curl, 0, http_tests},
+  {"get_free_port()", 0, 0, get_free_port_TESTS },
+  {"fatal", disable_fatal_exception, enable_fatal_exception, fatal_message_TESTS },
   {0, 0, 0, 0}
 };