[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/4] libqtest: add qmp_device_add()
From: |
Peter Xu |
Subject: |
[Qemu-devel] [PATCH 3/4] libqtest: add qmp_device_add() |
Date: |
Wed, 13 Sep 2017 17:36:05 +0800 |
Since we have qmp_device_del(), pair them up.
Signed-off-by: Peter Xu <address@hidden>
---
tests/libqtest.c | 15 +++++++++++++++
tests/libqtest.h | 9 +++++++++
2 files changed, 24 insertions(+)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index a34d8c4..c7da962 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -925,6 +925,21 @@ QDict *qmp(const char *fmt, ...)
return response;
}
+void qmp_device_add(const char *args)
+{
+ QDict *response;
+ char *cmd;
+
+ cmd = g_strdup_printf("{'execute': 'device_add',"
+ " 'arguments': { %s }"
+ "}", args);
+ response = qmp(cmd);
+ g_free(cmd);
+ g_assert(response);
+ g_assert(!qdict_haskey(response, "error"));
+ QDECREF(response);
+}
+
void qmp_device_del(const char *id)
{
QDict *response1, *response2, *event = NULL;
diff --git a/tests/libqtest.h b/tests/libqtest.h
index 0d48e4b..ecd02ac 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -920,6 +920,15 @@ QDict *qmp_fdv(int fd, const char *fmt, va_list ap);
QDict *qmp_fd(int fd, const char *fmt, ...);
/**
+ * qmp_device_add:
+ * @args: Parameters for the new device, like:
+ * "'driver': 'XXX', 'id': 'XXX', 'addr': 'XXX'"
+ *
+ * Create a new device with parameter @args provided.
+ */
+void qmp_device_add(const char *args);
+
+/**
* qmp_device_del:
* @id: The device ID to be deleted
*
--
2.7.4