From 620ca3ebe4079a7944e30dc8e237578c9b6145f8 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Wed, 28 Jan 2015 22:44:16 +0100 Subject: Add manual tcp test case. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=87999 Reviewed-by: Simon McVittie (cherry picked from commit fa1ada44eabd62b46b89c7be22bfce6d595d8dac) Conflicts: cmake/test/CMakeLists.txt test/Makefile.am --- cmake/test/CMakeLists.txt | 5 +++++ test/Makefile.am | 5 +++++ test/manual-tcp.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 test/manual-tcp.c diff --git a/cmake/test/CMakeLists.txt b/cmake/test/CMakeLists.txt index ecad3046..7c91a952 100644 --- a/cmake/test/CMakeLists.txt +++ b/cmake/test/CMakeLists.txt @@ -48,6 +48,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(test-service ${test-service_SOURCES} dbus-testutils) add_helper_executable(test-names ${test-names_SOURCES} dbus-testutils) add_test_executable(test-shell ${test-shell_SOURCES} ${DBUS_INTERNAL_LIBRARIES}) @@ -57,6 +61,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 cec5cdab..e0ed3c87 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -119,6 +119,10 @@ test_syslog_SOURCES = internals/syslog.c test_syslog_CPPFLAGS = $(static_cppflags) test_syslog_LDADD = libdbus-testutils-internal.la $(GLIB_LIBS) +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 @@ -130,6 +134,7 @@ installable_tests = \ test-printf \ $(NULL) installable_manual_tests = \ + manual-tcp \ $(NULL) if DBUS_WITH_GLIB diff --git a/test/manual-tcp.c b/test/manual-tcp.c new file mode 100644 index 00000000..64691c9d --- /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; +} -- cgit v1.2.1