From a03e626728db8a9cbe1dbbfab6f22f5870cb40ae Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Fri, 11 Apr 2003 03:58:56 +0000 Subject: 2003-04-11 Havoc Pennington * bus/dispatch.c (check_existent_service_activation): accept a no memory error in a place we didn't before * bus/test.c (bus_test_run_everything): remove hacky "do it twice in case the first one failed," since the test suite is less broken now. --- bus/dispatch.c | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) (limited to 'bus/dispatch.c') diff --git a/bus/dispatch.c b/bus/dispatch.c index 29364665..41317549 100644 --- a/bus/dispatch.c +++ b/bus/dispatch.c @@ -1445,11 +1445,15 @@ check_send_exit_to_service (BusContext *context, static dbus_bool_t check_got_error (BusContext *context, DBusConnection *connection, - const char *error_name) + const char *first_error_name, + ...) { DBusMessage *message; dbus_bool_t retval; - + va_list ap; + dbus_bool_t error_found; + const char *error_name; + retval = FALSE; message = pop_message_waiting_for_memory (connection); @@ -1466,10 +1470,25 @@ check_got_error (BusContext *context, goto out; } - if (!dbus_message_name_is (message, error_name)) + error_found = FALSE; + + va_start (ap, first_error_name); + error_name = first_error_name; + while (error_name != NULL) + { + if (dbus_message_name_is (message, error_name)) + { + error_found = TRUE; + break; + } + error_name = va_arg (ap, char*); + } + va_end (ap); + + if (!error_found) { - _dbus_warn ("Expected error %s, got %s instead\n", - error_name, + _dbus_warn ("Expected error %s or other, got %s instead\n", + first_error_name, dbus_message_get_name (message)); goto out; } @@ -1613,7 +1632,9 @@ check_existent_service_activation (BusContext *context, if (got_error) { if (!check_got_error (context, connection, - DBUS_ERROR_SPAWN_CHILD_EXITED)) + DBUS_ERROR_SPAWN_CHILD_EXITED, + DBUS_ERROR_NO_MEMORY, + NULL)) goto out; /* A service deleted should be coming along now after this error. @@ -1648,7 +1669,8 @@ check_existent_service_activation (BusContext *context, bus_test_run_everything (context); if (!check_got_error (context, connection, - DBUS_ERROR_SPAWN_CHILD_EXITED)) + DBUS_ERROR_SPAWN_CHILD_EXITED, + NULL)) goto out; } } -- cgit