using namespace libtest;
+static std::string testing_service;
+
static test_return_t LIBTOOL_COMMAND_test(void *)
{
test_true(getenv("LIBTOOL_COMMAND"));
static test_return_t var_tmp_test(void *)
{
FILE *file= fopen("var/tmp/junk", "w+");
- char buffer[1024];
test_true(file);
fclose(file);
return TEST_SUCCESS;
return TEST_SUCCESS;
}
-static test_return_t memcached_cycle_test(void *object)
+static test_return_t server_startup_TEST(void *object)
{
server_startup_st *servers= (server_startup_st*)object;
test_true(servers);
- if (MEMCACHED_BINARY and HAVE_LIBMEMCACHED)
- {
- test_true(has_memcached());
- test_true(server_startup(*servers, "memcached", get_free_port(), 0, NULL));
+ test_true(servers->start_server(testing_service, get_free_port(), 0, NULL, true));
- return TEST_SUCCESS;
- }
+ test_true(servers->last());
+ pid_t last_pid= servers->last()->pid();
- return TEST_SKIPPED;
+ test_compare(servers->last()->pid(), last_pid);
+ test_true(last_pid > 1);
+ test_compare(kill(last_pid, 0), 0);
+
+ test_true(servers->shutdown());
+#if 0
+ test_compare(servers->last()->pid(), -1);
+ test_compare(kill(last_pid, 0), -1);
+#endif
+
+ return TEST_SUCCESS;
}
-static test_return_t memcached_socket_cycle_test(void *object)
+static test_return_t socket_server_startup_TEST(void *object)
{
server_startup_st *servers= (server_startup_st*)object;
test_true(servers);
- if (MEMCACHED_BINARY)
- {
- if (HAVE_LIBMEMCACHED)
- {
- test_true(has_memcached());
- test_true(servers->start_socket_server("memcached", get_free_port(), 0, NULL));
-
- return TEST_SUCCESS;
- }
- }
+ test_true(servers->start_socket_server(testing_service, get_free_port(), 0, NULL, true));
- return TEST_SKIPPED;
+ return TEST_SUCCESS;
}
static test_return_t memcached_sasl_test(void *object)
static test_return_t check_dns_TEST(void *)
{
- test_warn_hint(libtest::check_dns(), "Broken DNS server/no DNS server found");
+ test_warn(libtest::check_dns(), "Broken DNS server/no DNS server found");
+
+ return TEST_SUCCESS;
+}
+
+static test_return_t Timer_TEST(void *)
+{
+ int64_t minutes= random() % 50;
+ minutes++;
+
+ Timer check;
+
+ check.reset();
+ check.offset(minutes, 2, 200);
+
+ test_compare(check.minutes(), minutes);
return TEST_SUCCESS;
}
static test_return_t lookup_true_TEST(void *)
{
- test_warn_hint(libtest::lookup("exist.gearman.info"), "dns is not currently working");
+ test_warn(libtest::lookup("exist.gearman.info"), "dns is not currently working");
return TEST_SUCCESS;
}
{0, 0, 0}
};
-static test_return_t check_for_libmemcached(void *)
+static test_return_t check_for_libmemcached(void* object)
{
test_skip(true, HAVE_LIBMEMCACHED);
test_skip(true, has_memcached());
+
+ server_startup_st *servers= (server_startup_st*)object;
+ test_true(servers);
+ servers->clear();
+
+ testing_service= "memcached";
+
return TEST_SUCCESS;
}
-test_st memcached_tests[] ={
- {"memcached startup-shutdown", 0, memcached_cycle_test },
- {"memcached-light startup-shutdown", 0, memcached_light_cycle_TEST },
- {"memcached(socket file) startup-shutdown", 0, memcached_socket_cycle_test },
- {"memcached_sasl() startup-shutdown", 0, memcached_sasl_test },
+test_st memcached_TESTS[] ={
+ {"memcached startup-shutdown", 0, server_startup_TEST },
+ {"memcached(socket file) startup-shutdown", 0, socket_server_startup_TEST },
{"_compare(memcached_return_t)", 0, _compare_memcached_return_t_test },
{0, 0, 0}
};
{0, 0, 0}
};
+test_st timer_TESTS[] ={
+ {"libtest::Timer", 0, Timer_TEST },
+ {0, 0, 0}
+};
+
test_st dns_TESTS[] ={
{"libtest::lookup(true)", 0, lookup_true_TEST },
{"libtest::lookup(false)", 0, lookup_false_TEST },
{"directories", 0, 0, directories_tests},
{"comparison", 0, 0, comparison_tests},
{"gearmand", check_for_gearman, 0, gearmand_tests},
- {"memcached", check_for_libmemcached, 0, memcached_tests},
+ {"memcached", check_for_libmemcached, 0, memcached_TESTS },
{"drizzled", check_for_drizzle, 0, drizzled_tests},
{"cmdline", 0, 0, cmdline_tests},
{"application", 0, 0, application_tests},
{"number_of_cpus()", 0, 0, number_of_cpus_TESTS },
{"create_tmpfile()", 0, 0, create_tmpfile_TESTS },
{"dns", 0, 0, dns_TESTS },
+ {"libtest::Timer", 0, 0, timer_TESTS },
{0, 0, 0, 0}
};