dbus/test/name-test/test-shutdown.c
Simon McVittie ada440c5ba test-shutdown: Apply a permissive license
All significant contributions to this file were from companies or
individuals that gave permission for relicensing to MIT (I have assumed
that trivial changes from Marcus Brinkmann and Kjartan Maraas were too
small to affect copyright status).

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-12 12:08:38 +00:00

91 lines
1.8 KiB
C

/*
* Copyright 2008 Red Hat, Inc.
* Copyright 2016-2018 Collabora Ltd.
* Copyright 2018 Ralf Habacker
* SPDX-License-Identifier: MIT
*/
#include <config.h>
#include <dbus/dbus-valgrind-internal.h>
#include "../test-utils.h"
static DBusLoop *loop;
static void die (const char *message) _DBUS_GNUC_NORETURN;
static void
die (const char *message)
{
printf ("Bail out! test-shutdown: %s", message);
exit (1);
}
static void
open_destroy_shared_session_bus_connection (void)
{
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, ',');
#ifdef DBUS_WIN
_dbus_assert (comma == NULL);
#else
_dbus_assert (comma != NULL);
*comma = '\0';
#endif
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");
test_connection_setup (loop, connection);
test_connection_shutdown (loop, connection);
_dbus_loop_unref (loop);
dbus_connection_unref (connection);
}
/* This test outputs TAP syntax: http://testanything.org/ */
int
main (int argc,
char **argv)
{
int test_num = 0;
if (RUNNING_ON_VALGRIND)
{
printf ("1..0 # SKIP Not ready to run under valgrind yet\n");
return 0;
}
open_destroy_shared_session_bus_connection ();
dbus_shutdown ();
printf ("ok %d\n", ++test_num);
open_destroy_shared_session_bus_connection ();
dbus_shutdown ();
printf ("ok %d\n", ++test_num);
open_destroy_shared_session_bus_connection ();
dbus_shutdown ();
printf ("ok %d\n", ++test_num);
printf ("1..%d\n", test_num);
return 0;
}