2003-04-11 Havoc Pennington <hp@pobox.com>

* 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.
This commit is contained in:
Havoc Pennington 2003-04-11 03:58:56 +00:00
parent 78e7902231
commit a03e626728
3 changed files with 42 additions and 18 deletions

View file

@ -1,3 +1,12 @@
2003-04-11 Havoc Pennington <hp@pobox.com>
* 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.
2003-04-10 Havoc Pennington <hp@pobox.com>
* bus/dispatch.c (check_segfault_service_activation): add test
@ -9,7 +18,7 @@
2003-04-10 Havoc Pennington <hp@pobox.com>
* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
the possible parent failures before we fork, so that we don't q
the possible parent failures before we fork, so that we don't
fail to create a babysitter after creating the child.
* bus/activation.c (bus_activation_activate_service): kill child

View file

@ -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)
{
_dbus_warn ("Expected error %s, got %s instead\n",
error_name,
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 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;
}
}

View file

@ -335,16 +335,9 @@ bus_test_run_bus_loop (BusContext *context,
void
bus_test_run_everything (BusContext *context)
{
int i;
i = 0;
while (i < 2)
{
while (_dbus_loop_iterate (bus_context_get_loop (context), FALSE) ||
(client_loop == NULL || _dbus_loop_iterate (client_loop, FALSE)))
;
++i;
}
while (_dbus_loop_iterate (bus_context_get_loop (context), FALSE) ||
(client_loop == NULL || _dbus_loop_iterate (client_loop, FALSE)))
;
}
BusContext*