From 0f400641ccf036b2410d1930535c51d0ba0a7ece Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Wed, 28 Jan 2015 22:44:16 +0100 Subject: [PATCH] Add manual tcp test case. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=87999 --- cmake/test/CMakeLists.txt | 5 +++++ test/Makefile.am | 7 ++++++- test/manual-tcp.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 test/manual-tcp.c diff --git a/cmake/test/CMakeLists.txt b/cmake/test/CMakeLists.txt index 54a920f..7676586 100644 --- a/cmake/test/CMakeLists.txt +++ b/cmake/test/CMakeLists.txt @@ -54,6 +54,10 @@ set (test-sleep-forever_SOURCES ${CMAKE_SOURCE_DIR}/../test/test-sleep-forever.c ) +set (manual-tcp_SOURCES + ${CMAKE_SOURCE_DIR}/../test/manual-tcp.c +) + add_helper_executable(manual-dir-iter ${manual-dir-iter_SOURCES} ${DBUS_INTERNAL_LIBRARIES}) add_helper_executable(test-service ${test-service_SOURCES} dbus-testutils) add_helper_executable(test-names ${test-names_SOURCES} dbus-testutils) @@ -64,6 +68,7 @@ add_helper_executable(test-spawn ${test-spawn_SOURCES} ${DBUS_INTERNAL_LIBRARIES add_helper_executable(test-exit ${test-exit_SOURCES} ${DBUS_INTERNAL_LIBRARIES}) add_helper_executable(test-segfault ${test-segfault_SOURCES} ${DBUS_INTERNAL_LIBRARIES}) add_helper_executable(test-sleep-forever ${test-sleep-forever_SOURCES} ${DBUS_INTERNAL_LIBRARIES}) +add_test_executable(manual-tcp ${manual-tcp_SOURCES} ${DBUS_INTERNAL_LIBRARIES}) if(DBUS_WITH_GLIB) message(STATUS "with glib test apps") diff --git a/test/Makefile.am b/test/Makefile.am index 173df74..c0c7a69 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -123,6 +123,10 @@ manual_dir_iter_SOURCES = manual-dir-iter.c manual_dir_iter_CPPFLAGS = $(static_cppflags) manual_dir_iter_LDADD = $(top_builddir)/dbus/libdbus-internal.la +manual_tcp_SOURCES = manual-tcp.c +manual_tcp_CPPFLAGS = $(static_cppflags) +manual_tcp_LDADD = $(top_builddir)/dbus/libdbus-internal.la + EXTRA_DIST = dbus-test-runner testexecdir = $(libdir)/dbus-1.0/test @@ -135,7 +139,8 @@ installable_tests = \ $(NULL) installable_manual_tests = \ manual-dir-iter \ - $(NULL) + manual-tcp \ + $(NULL) if DBUS_WITH_GLIB installable_tests += \ diff --git a/test/manual-tcp.c b/test/manual-tcp.c new file mode 100644 index 0000000..64691c9 --- /dev/null +++ b/test/manual-tcp.c @@ -0,0 +1,46 @@ +/* + * Simple manual tcp check + * + * supports: + * - server listening check + * + * syntax: manual-tcp [|] + * +*/ + +#include "config.h" +#include "dbus/dbus-server-socket.h" + +#include + +int +main (int argc, char **argv) +{ + DBusServer *server; + DBusError error; + int result = 0; + int i; + + char *family = NULL; + + if (argc == 2) + family = argv[1]; + + for (i = 0; i < 1000; i++) + { + dbus_error_init (&error); + server = _dbus_server_new_for_tcp_socket ("localhost", "localhost", "0", family, &error, FALSE); + if (server == NULL) + { + printf("%d: %s %s\n",i, error.name, error.message); + dbus_error_free(&error); + result = -1; + } + else { + printf("%d: %s \n",i, dbus_server_get_address(server)); + dbus_server_disconnect(server); + dbus_server_unref(server); + } + } + return result; +} -- 1.8.4.5