From 6971a06b04b3fdd48b61202b2276e8140f4b7be0 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Wed, 21 Apr 2004 22:13:07 +0000 Subject: 2004-04-21 Kristian Høgsberg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dbus/dbus-server-unix.c (unix_finalize): Don't unref unix_server->watch here, it is unreffed in disconnect. (_dbus_server_new_for_tcp_socket): convert NULL host to "localhost" here so we don't append NULL to address. * dbus/dbus-server.c (_dbus_server_test): Add test case for various addresses, including tcp with no explicit host. --- dbus/dbus-server.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'dbus/dbus-server.c') diff --git a/dbus/dbus-server.c b/dbus/dbus-server.c index 339f8360..2fa52ebe 100644 --- a/dbus/dbus-server.c +++ b/dbus/dbus-server.c @@ -788,3 +788,42 @@ dbus_server_get_data (DBusServer *server, /** @} */ +#ifdef DBUS_BUILD_TESTS +#include "dbus-test.h" + +dbus_bool_t +_dbus_server_test (void) +{ + const char *valid_addresses[] = { + "tcp:port=1234", + "unix:path=./boogie", + "tcp:host=localhost,port=1234", + "tcp:host=localhost,port=1234;tcp:port=5678", + "tcp:port=1234;unix:path=./boogie", + }; + + DBusServer *server; + int i; + + for (i = 0; i < _DBUS_N_ELEMENTS (valid_addresses); i++) + { + server = dbus_server_listen (valid_addresses[i], NULL); + if (server == NULL) + _dbus_assert_not_reached ("Failed to listen for valid address."); + + dbus_server_unref (server); + + /* Try disconnecting before unreffing */ + server = dbus_server_listen (valid_addresses[i], NULL); + if (server == NULL) + _dbus_assert_not_reached ("Failed to listen for valid address."); + + dbus_server_disconnect (server); + + dbus_server_unref (server); + } + + return TRUE; +} + +#endif /* DBUS_BUILD_TESTS */ -- cgit