summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2014-02-21 20:55:30 +0100
committerAndreas Färber <afaerber@suse.de>2014-03-31 22:36:16 +0200
commit66e0c7b187e130f5059e45e12832951deda31668 (patch)
tree4a346f9aaabe814e512bf811a6ea85728c075a77 /tests
parentabc53733f34a8a29cc49c1ecb6475a11a44dcb7a (diff)
downloadqemu-66e0c7b187e130f5059e45e12832951deda31668.tar.gz
qemu-66e0c7b187e130f5059e45e12832951deda31668.tar.bz2
qemu-66e0c7b187e130f5059e45e12832951deda31668.zip
qtest: Factor out qtest_qmp_receive()
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/libqtest.c15
-rw-r--r--tests/libqtest.h18
2 files changed, 28 insertions, 5 deletions
diff --git a/tests/libqtest.c b/tests/libqtest.c
index d9e3a33817..8155695848 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -345,14 +345,10 @@ static void qmp_response(JSONMessageParser *parser, QList *tokens)
qmp->response = (QDict *)obj;
}
-QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap)
+QDict *qtest_qmp_receive(QTestState *s)
{
QMPResponseParser qmp;
- /* Send QMP request */
- socket_sendf(s->qmp_fd, fmt, ap);
-
- /* Receive reply */
qmp.response = NULL;
json_message_parser_init(&qmp.parser, qmp_response);
while (!qmp.response) {
@@ -376,6 +372,15 @@ QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap)
return qmp.response;
}
+QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap)
+{
+ /* Send QMP request */
+ socket_sendf(s->qmp_fd, fmt, ap);
+
+ /* Receive reply */
+ return qtest_qmp_receive(s);
+}
+
QDict *qtest_qmp(QTestState *s, const char *fmt, ...)
{
va_list ap;
diff --git a/tests/libqtest.h b/tests/libqtest.h
index 8268c098bf..8f323c7030 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -83,6 +83,14 @@ void qtest_qmpv_discard_response(QTestState *s, const char *fmt, va_list ap);
QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap);
/**
+ * qtest_receive:
+ * @s: #QTestState instance to operate on.
+ *
+ * Reads a QMP message from QEMU and returns the response.
+ */
+QDict *qtest_qmp_receive(QTestState *s);
+
+/**
* qtest_get_irq:
* @s: #QTestState instance to operate on.
* @num: Interrupt to observe.
@@ -367,6 +375,16 @@ QDict *qmp(const char *fmt, ...);
void qmp_discard_response(const char *fmt, ...);
/**
+ * qmp_receive:
+ *
+ * Reads a QMP message from QEMU and returns the response.
+ */
+static inline QDict *qmp_receive(void)
+{
+ return qtest_qmp_receive(global_qtest);
+}
+
+/**
* get_irq:
* @num: Interrupt to observe.
*