X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Funittest.cc;h=a2843d27fc324f9c4de5076104cce1ef8f751b20;hb=7fa883aca713b99985cf35750ab0e2ffe6ce58e0;hp=8cc8a65ff99d08823ca15d33c26a0bfa55ed4422;hpb=feefbfb339a8c31c9a54d938180b153fe60d269b;p=awesomized%2Flibmemcached diff --git a/libtest/unittest.cc b/libtest/unittest.cc index 8cc8a65f..a2843d27 100644 --- a/libtest/unittest.cc +++ b/libtest/unittest.cc @@ -111,7 +111,7 @@ static test_return_t test_throw_success_TEST(void *) try { _SUCCESS; } - catch (libtest::__success) + catch (const libtest::__success&) { return TEST_SUCCESS; } @@ -128,7 +128,7 @@ static test_return_t test_throw_skip_macro_TEST(void *) try { SKIP_IF(true); } - catch (libtest::__skipped e) + catch (const libtest::__skipped&) { return TEST_SUCCESS; } @@ -142,12 +142,31 @@ static test_return_t test_throw_skip_macro_TEST(void *) return TEST_FAILURE; } +static test_return_t test_throw_skip_unless_macro_TEST(void *) +{ + try { + SKIP_UNLESS(false); + } + catch (const libtest::__skipped&) + { + return TEST_SUCCESS; + } + catch (...) + { + FAIL("SLIP_UNLESS() failed to throw libtest::_skipped"); + } + + FAIL("SLIP_UNLESS() failed to throw"); + + return TEST_FAILURE; +} + static test_return_t test_throw_skip_TEST(void *) { try { throw libtest::__skipped(LIBYATL_DEFAULT_PARAM, "basic test"); } - catch (libtest::__skipped e) + catch (const libtest::__skipped&) { return TEST_SUCCESS; } @@ -181,14 +200,41 @@ static test_return_t test_throw_fail_TEST(void *) } #pragma GCC diagnostic ignored "-Wstack-protector" +#ifdef __clang__ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wformat-security" +#endif + static test_return_t ASSERT_FALSE__TEST(void *) { try { - ASSERT_FALSE_(true, __func__); + ASSERT_FALSE(true); + } + catch (const libtest::__failure& e) + { + ASSERT_STREQ(e.what(), "Assertion '!true'"); + return TEST_SUCCESS; + } + catch (...) + { + return TEST_FAILURE; + } + + return TEST_FAILURE; +} + +#ifdef __clang__ +# pragma GCC diagnostic pop +#endif + +static test_return_t ASSERT_NEQ_FAIL_TEST(void *) +{ + try { + ASSERT_NEQ(1,1); } catch (const libtest::__failure& e) { - ASSERT_STREQ(e.what(), "Assertion '!true' [ ASSERT_FALSE__TEST ]"); + ASSERT_STREQ(e.what(), "Assertion '1' == '1'"); return TEST_SUCCESS; } catch (...) @@ -199,6 +245,13 @@ static test_return_t ASSERT_FALSE__TEST(void *) return TEST_FAILURE; } +static test_return_t ASSERT_NEQ_TEST(void *) +{ + ASSERT_NEQ(1,0); + + return TEST_SUCCESS; +} + static test_return_t ASSERT_FALSE_TEST(void *) { try { @@ -396,7 +449,7 @@ static test_return_t drizzled_cycle_test(void *object) test_skip(true, has_drizzled()); - test_skip(true, server_startup(*servers, "drizzled", get_free_port(), 0, NULL, false)); + test_skip(true, server_startup(*servers, "drizzled", get_free_port(), NULL)); return TEST_SUCCESS; } @@ -407,7 +460,7 @@ static test_return_t gearmand_cycle_test(void *object) test_true(servers and servers->validate()); test_skip(true, has_gearmand()); - test_skip(true, server_startup(*servers, "gearmand", get_free_port(), 0, NULL, false)); + test_skip(true, server_startup(*servers, "gearmand", get_free_port(), NULL)); servers->clear(); return TEST_SUCCESS; @@ -442,7 +495,7 @@ static test_return_t server_startup_fail_TEST(void *object) test_true(servers); fatal::disable(); - ASSERT_EQ(servers->start_server(testing_service, LIBTEST_FAIL_PORT, 0, NULL, false), true); + ASSERT_EQ(servers->start_server(testing_service, LIBTEST_FAIL_PORT, NULL), true); fatal::enable(); return TEST_SUCCESS; @@ -453,7 +506,7 @@ static test_return_t server_startup_TEST(void *object) server_startup_st *servers= (server_startup_st*)object; test_true(servers); - ASSERT_EQ(servers->start_server(testing_service, get_free_port(), 0, NULL, false), true); + ASSERT_EQ(servers->start_server(testing_service, get_free_port(), NULL), true); test_true(servers->last()); pid_t last_pid= servers->last()->pid(); @@ -476,7 +529,7 @@ static test_return_t socket_server_startup_TEST(void *object) server_startup_st *servers= (server_startup_st*)object; test_true(servers); - test_true(servers->start_socket_server(testing_service, get_free_port(), 0, NULL, false)); + test_true(servers->start_socket_server(testing_service, get_free_port(), NULL)); return TEST_SUCCESS; } @@ -487,14 +540,14 @@ static test_return_t memcached_sasl_test(void *object) server_startup_st *servers= (server_startup_st*)object; test_true(servers); - test_skip(false, bool(getenv("TESTS_ENVIRONMENT"))); + test_skip(false, bool(getenv("LOG_COMPILER"))); if (MEMCACHED_SASL_BINARY) { if (HAVE_LIBMEMCACHED) { test_true(has_memcached_sasl()); - test_true(server_startup(*servers, "memcached-sasl", get_free_port(), 0, NULL, false)); + test_true(server_startup(*servers, "memcached-sasl", get_free_port(), NULL)); return TEST_SUCCESS; } @@ -565,9 +618,9 @@ static test_return_t application_doesnotexist_BINARY(void *) true_app.will_fail(); const char *args[]= { "--fubar", 0 }; -#if defined(TARGET_OS_OSX) && TARGET_OS_OSX +#if defined(__APPLE__) && __APPLE__ ASSERT_EQ(Application::INVALID_POSIX_SPAWN, true_app.run(args)); -#elif defined(TARGET_OS_FREEBSD) && TARGET_OS_FREEBSD +#elif defined(__FreeBSD__) && __FreeBSD__ ASSERT_EQ(Application::INVALID_POSIX_SPAWN, true_app.run(args)); #else ASSERT_EQ(Application::SUCCESS, true_app.run(args)); @@ -765,8 +818,8 @@ static test_return_t wait_services_appliction_TEST(void *) static test_return_t gdb_wait_services_appliction_TEST(void *) { test_skip(true, false); -#if defined(TARGET_OS_OSX) && TARGET_OS_OSX - test_skip(0, TARGET_OS_OSX); +#if defined(__APPLE__) && __APPLE__ + test_skip(0, __APPLE__); #endif test_skip(0, access("/etc/services", R_OK )); @@ -789,8 +842,8 @@ static test_return_t gdb_abort_services_appliction_TEST(void *) test_skip(0, access("libtest/abort", X_OK )); test_skip(true, false); -#if defined(TARGET_OS_OSX) && TARGET_OS_OSX - test_skip(0, TARGET_OS_OSX); +#if defined(__APPLE__) && __APPLE__ + test_skip(0, __APPLE__); #endif libtest::Application abort_app("libtest/abort", true); @@ -893,7 +946,7 @@ static test_return_t create_tmpfile_TEST(void *) static test_return_t fatal_message_TEST(void *) { ASSERT_EQ(fatal_calls++, fatal::disabled_counter()); - fatal_message("Fatal test"); + FATAL("Fatal test"); return TEST_SUCCESS; } @@ -907,6 +960,12 @@ static test_return_t default_port_TEST(void *) return TEST_SUCCESS; } +static test_return_t check_for_VALGRIND(void *) +{ + test_skip_valgrind(); + return TEST_SUCCESS; +} + static test_return_t check_for_gearman(void *) { test_skip(true, HAVE_LIBGEARMAN); @@ -932,7 +991,6 @@ static test_return_t check_for_gearman(void *) static test_return_t check_for_drizzle(void *) { - test_skip(true, HAVE_LIBDRIZZLE); test_skip(true, has_drizzled()); testing_service= "drizzled"; @@ -1010,9 +1068,12 @@ test_st tests_log[] ={ {"SUCCESS", false, test_throw_success_TEST }, {"libtest::__skipped", false, test_throw_skip_TEST }, {"SKIP_IF", false, test_throw_skip_macro_TEST }, + {"SKIP_UNLESS", false, test_throw_skip_unless_macro_TEST }, {"FAIL", false, test_throw_fail_TEST }, {"ASSERT_FALSE_", false, ASSERT_FALSE__TEST }, {"ASSERT_FALSE", false, ASSERT_FALSE_TEST }, + {"ASSERT_NEQ", false, ASSERT_NEQ_TEST }, + {"ASSERT_NEQ FAIL", false, ASSERT_NEQ_FAIL_TEST }, {0, 0, 0} }; @@ -1108,6 +1169,7 @@ test_st application_tests[] ={ static test_return_t check_for_curl(void *) { + test_skip_valgrind(); test_skip(true, HAVE_LIBCURL); return TEST_SUCCESS; } @@ -1150,7 +1212,7 @@ collection_st collection[] ={ {"fatal", disable_fatal_exception, enable_fatal_exception, fatal_message_TESTS }, {"number_of_cpus()", 0, 0, number_of_cpus_TESTS }, {"create_tmpfile()", 0, 0, create_tmpfile_TESTS }, - {"dns", 0, 0, dns_TESTS }, + {"dns", check_for_VALGRIND, 0, dns_TESTS }, {"libtest::Timer", 0, 0, timer_TESTS }, {0, 0, 0, 0} };