Commit 2ab900b6 authored by Simon McVittie's avatar Simon McVittie
Browse files

Do not suppress syslog test's stderr just because init is systemd

This causes the test to fail. The assumption implicitly being made was
"if pid 1 is systemd, then every caller of _dbus_init_system_log() is a
systemd service" which is not valid for the regression test.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=63163

Signed-off-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Colin Walters's avatarColin Walters <walters@verbum.org>
parent 60511bb9
......@@ -287,7 +287,7 @@ process_config_first_time_only (BusContext *context,
auth_mechanisms = NULL;
pidfile = NULL;
_dbus_init_system_log ();
_dbus_init_system_log (TRUE);
if (flags & BUS_CONTEXT_FLAG_SYSTEMD_ACTIVATION)
context->systemd_activation = TRUE;
......
......@@ -428,14 +428,14 @@ _dbus_request_file_descriptor_limit (unsigned int limit)
}
void
_dbus_init_system_log (void)
_dbus_init_system_log (dbus_bool_t is_daemon)
{
#ifdef HAVE_SYSLOG_H
int logopts = LOG_PID;
#if HAVE_DECL_LOG_PERROR
#ifdef HAVE_SYSTEMD
if (sd_booted () <= 0)
if (!is_daemon || sd_booted () <= 0)
#endif
logopts |= LOG_PERROR;
#endif
......
......@@ -262,7 +262,7 @@ _dbus_request_file_descriptor_limit (unsigned int limit)
}
void
_dbus_init_system_log (void)
_dbus_init_system_log (dbus_bool_t is_daemon)
{
/* OutputDebugStringA doesn't need any special initialization, do nothing */
}
......
......@@ -450,7 +450,7 @@ void _dbus_set_signal_handler (int sig,
dbus_bool_t _dbus_user_at_console (const char *username,
DBusError *error);
void _dbus_init_system_log (void);
void _dbus_init_system_log (dbus_bool_t is_daemon);
typedef enum {
DBUS_SYSTEM_LOG_INFO,
......
......@@ -54,7 +54,7 @@ test_syslog (Fixture *f,
{
if (g_test_trap_fork (0, 0))
{
_dbus_init_system_log ();
_dbus_init_system_log (FALSE);
_dbus_system_log (DBUS_SYSTEM_LOG_FATAL, MESSAGE "%d", 23);
/* should not be reached: exit 0 so the assertion in the main process
* will fail */
......@@ -66,7 +66,7 @@ test_syslog (Fixture *f,
if (g_test_trap_fork (0, 0))
{
_dbus_init_system_log ();
_dbus_init_system_log (FALSE);
_dbus_system_log (DBUS_SYSTEM_LOG_INFO, MESSAGE "%d", 42);
_dbus_system_log (DBUS_SYSTEM_LOG_SECURITY, MESSAGE "%d", 666);
exit (0);
......@@ -76,7 +76,7 @@ test_syslog (Fixture *f,
g_test_trap_assert_stderr ("*" MESSAGE "42\n*" MESSAGE "666\n*");
/* manual test (this is the best we can do on Windows) */
_dbus_init_system_log ();
_dbus_init_system_log (FALSE);
_dbus_system_log (DBUS_SYSTEM_LOG_INFO, MESSAGE "%d", 42);
_dbus_system_log (DBUS_SYSTEM_LOG_SECURITY, MESSAGE "%d", 666);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment