From 8f1073f08a8baaf0e3dc5583af31a2578a0854ba Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 15 Sep 2014 18:04:36 +0100 Subject: [PATCH 1/4] dbus-daemon test: don't assert we pass uid/pid on unknown Unix platforms We know that Linux, FreeBSD and OpenBSD are "first class citizens" for credentials-passing, with NetBSD not far behind: people have turned up on the bug tracking system and told us that tests passed. On other Unixes, we can't really assert that it works, until someone who runs them tells us that it worked for them. Additions to these lists are welcome. --- test/dbus-daemon.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/test/dbus-daemon.c b/test/dbus-daemon.c index 4b3b61e..98a2ac5 100644 --- a/test/dbus-daemon.c +++ b/test/dbus-daemon.c @@ -43,6 +43,30 @@ #include "test-utils.h" +/* Platforms where we know that credentials-passing passes both the + * uid and the pid. Please keep these in alphabetical order. + * + * These platforms should #error in _dbus_read_credentials_socket() + * if we didn't detect their flavour of credentials-passing, since that + * would be a regression. + */ +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \ + defined(__linux__) || \ + defined(__OpenBSD__) +# define UNIX_USER_SHOULD_WORK +# define PID_SHOULD_WORK +#endif + +/* Platforms where we know that credentials-passing passes the + * uid, but not necessarily the pid. Again, alphabetical order please. + * + * These platforms should also #error in _dbus_read_credentials_socket() + * if we didn't detect their flavour of credentials-passing. + */ +#if defined(__NetBSD__) +# define UNIX_USER_SHOULD_WORK +#endif + typedef struct { gboolean skip; @@ -445,8 +469,11 @@ test_creds (Fixture *f, dbus_message_iter_next (&arr_iter); } -#ifdef G_OS_UNIX +#ifdef UNIX_USER_SHOULD_WORK g_assert (seen & SEEN_UNIX_USER); +#endif + +#ifdef PID_SHOULD_WORK g_assert (seen & SEEN_PID); #endif -- 2.1.0