From 57e67fc55124b323670bfb54e8b43750f1e49f4d Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 15 Sep 2014 18:38:49 +0100 Subject: test_processid: only assert that it works if we expect it to work Otherwise, this would fail on, for instance, QNX. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69702 Reviewed-by: Patrick Welche Reviewed-by: Alban Crequy Tested-by: Patrick Welche --- test/dbus-daemon.c | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'test') diff --git a/test/dbus-daemon.c b/test/dbus-daemon.c index 3b8e1348..8b5ad6b5 100644 --- a/test/dbus-daemon.c +++ b/test/dbus-daemon.c @@ -603,22 +603,34 @@ test_processid (Fixture *f, while (m == NULL) test_main_context_iterate (f->ctx, TRUE); - g_assert_cmpstr (dbus_message_get_signature (m), ==, "u"); - - g_assert_true (dbus_message_get_args (m, &error, - DBUS_TYPE_UINT32, &pid, - DBUS_TYPE_INVALID)); -// g_assert_no_error (&error); + if (dbus_message_get_args (m, &error, + DBUS_TYPE_UINT32, &pid, + DBUS_TYPE_INVALID)) + { + g_assert_cmpstr (dbus_message_get_signature (m), ==, "u"); + assert_no_error (&error); - g_message ("GetConnectionUnixProcessID returned %u", pid); + g_message ("GetConnectionUnixProcessID returned %u", pid); #ifdef G_OS_UNIX - g_assert_cmpuint (pid, ==, getpid ()); + g_assert_cmpuint (pid, ==, getpid ()); #elif defined(G_OS_WIN32) - g_assert_cmpuint (pid, ==, GetCurrentProcessId ()); + g_assert_cmpuint (pid, ==, GetCurrentProcessId ()); #else - g_assert_not_reached (); + g_assert_not_reached (); #endif + } + else + { + g_assert_cmpstr (error.name, ==, DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN); + +#ifdef PID_SHOULD_WORK + g_error ("Expected pid to be passed, but got %s: %s", + error.name, error.message); +#endif + + dbus_error_free (&error); + } } static void -- cgit v1.2.1