diff options
author | Colin Walters <walters@verbum.org> | 2008-05-30 16:53:35 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2008-05-30 16:53:35 -0400 |
commit | a73a79a155e97a3bd0d3ce5001ca6b9db803eeeb (patch) | |
tree | f1c3baeb481bcc0f485a7f9371f1fdc43f0efe08 /test/name-test/test-shutdown.c | |
parent | 9d8989cfec02e6ca41f8ffa0ccda16c93ddcb23c (diff) |
Add noinst convenience test library, add a test-shutdown
* test/Makefile.am: New convenience library
libdbus_testutils_la. Reorder build so that
test/ gets built before test/name-test so
name-test files can depend on it.
* test/name-test/test-shutdown.c: New file,
exercises dbus_shutdown () a bit.
* test/name-test/run-test.sh Run test-shutdown.
* test/test-utils.h: In some cases we already have
DBUS_COMPILATION defined, avoid double definition
warning.
Diffstat (limited to 'test/name-test/test-shutdown.c')
-rw-r--r-- | test/name-test/test-shutdown.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/name-test/test-shutdown.c b/test/name-test/test-shutdown.c new file mode 100644 index 00000000..c50ef4b6 --- /dev/null +++ b/test/name-test/test-shutdown.c @@ -0,0 +1,67 @@ + +#include "../test-utils.h" + +static DBusLoop *loop; + +static void +die (const char *message) +{ + fprintf (stderr, "*** test-shutdown: %s", message); + exit (1); +} + +static void +open_destroy_shared_session_bus_connection () +{ + DBusError error; + DBusConnection *connection; + char *session_addr_no_guid; + char *comma; + + dbus_error_init (&error); + + session_addr_no_guid = strdup (getenv ("DBUS_SESSION_BUS_ADDRESS")); + comma = strchr (session_addr_no_guid, ','); + if (comma == NULL) + die ("Couldn't find GUID in session bus address"); + *comma = '\0'; + + connection = dbus_connection_open (session_addr_no_guid, &error); + free (session_addr_no_guid); + if (connection == NULL) + die ("Failed to open connection to temp session bus\n"); + + loop = _dbus_loop_new (); + if (loop == NULL) + die ("No memory\n"); + + if (!test_connection_setup (loop, connection)) + die ("No memory\n"); + + test_connection_shutdown (loop, connection); + + _dbus_loop_unref (loop); + + dbus_connection_unref (connection); +} + +int +main (int argc, + char **argv) +{ + open_destroy_shared_session_bus_connection (); + + dbus_shutdown (); + + open_destroy_shared_session_bus_connection (); + + dbus_shutdown (); + + open_destroy_shared_session_bus_connection (); + + dbus_shutdown (); + + _dbus_verbose ("*** Test shutdown exiting\n"); + + return 0; +} |