提交 468f684e 编写于 作者: D Daniel P. Berrange

Fix virsystemdtest for previous commit

The change to query org.freedesktop.DBus.ListActivatableNames
to detect systemd broke the test suite, since we did not have
stubs to respond to this dbus call.
Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
上级 7ada155c
......@@ -65,29 +65,47 @@ dbus_bool_t dbus_message_set_reply_serial(DBusMessage *message ATTRIBUTE_UNUSED,
}
DBusMessage *dbus_connection_send_with_reply_and_block(DBusConnection *connection ATTRIBUTE_UNUSED,
DBusMessage *message ATTRIBUTE_UNUSED,
DBusMessage *message,
int timeout_milliseconds ATTRIBUTE_UNUSED,
DBusError *error)
DBusError *error ATTRIBUTE_UNUSED)
{
DBusMessage *reply = NULL;
const char *service = dbus_message_get_destination(message);
if (getenv("FAIL_BAD_SERVICE")) {
DBusMessageIter iter;
const char *error_message = "Something went wrong creating the machine";
if (!(reply = dbus_message_new(DBUS_MESSAGE_TYPE_ERROR)))
return NULL;
dbus_message_set_error_name(reply, "org.freedesktop.systemd.badthing");
dbus_message_iter_init_append(reply, &iter);
if (!dbus_message_iter_append_basic(&iter,
DBUS_TYPE_STRING,
&error_message)) {
dbus_message_unref(reply);
return NULL;
if (STREQ(service, "org.freedesktop.machine1")) {
if (getenv("FAIL_BAD_SERVICE")) {
DBusMessageIter iter;
const char *error_message = "Something went wrong creating the machine";
if (!(reply = dbus_message_new(DBUS_MESSAGE_TYPE_ERROR)))
return NULL;
dbus_message_set_error_name(reply, "org.freedesktop.systemd.badthing");
dbus_message_iter_init_append(reply, &iter);
if (!dbus_message_iter_append_basic(&iter,
DBUS_TYPE_STRING,
&error_message)) {
dbus_message_unref(reply);
return NULL;
}
} else {
reply = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_RETURN);
}
} else if (getenv("FAIL_NO_SERVICE")) {
dbus_set_error(error,
"org.freedesktop.DBus.Error.ServiceUnknown",
"%s", "The name org.freedesktop.machine1 was not provided by any .service files");
} else if (STREQ(service, "org.freedesktop.DBus")) {
const char *svc1 = "org.foo.bar.wizz";
const char *svc2 = "org.freedesktop.machine1";
DBusMessageIter iter, sub;
reply = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_RETURN);
dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
"s", &sub);
dbus_message_iter_append_basic(&sub,
DBUS_TYPE_STRING,
&svc1);
if (!getenv("FAIL_NO_SERVICE"))
dbus_message_iter_append_basic(&sub,
DBUS_TYPE_STRING,
&svc2);
dbus_message_iter_close_container(&iter, &sub);
} else {
reply = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_RETURN);
}
......
......@@ -94,9 +94,11 @@ static int testCreateNoSystemd(const void *opaque ATTRIBUTE_UNUSED)
123,
false,
NULL)) == 0) {
unsetenv("FAIL_NO_SERVICE");
fprintf(stderr, "%s", "Unexpected create machine success\n");
return -1;
}
unsetenv("FAIL_NO_SERVICE");
if (rv != -2) {
fprintf(stderr, "%s", "Unexpected create machine error\n");
......@@ -126,9 +128,11 @@ static int testCreateBadSystemd(const void *opaque ATTRIBUTE_UNUSED)
123,
false,
NULL)) == 0) {
unsetenv("FAIL_BAD_SERVICE");
fprintf(stderr, "%s", "Unexpected create machine success\n");
return -1;
}
unsetenv("FAIL_BAD_SERVICE");
if (rv != -1) {
fprintf(stderr, "%s", "Unexpected create machine error\n");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册