diff options
author | Andreas Färber <afaerber@suse.de> | 2014-02-21 20:55:30 +0100 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2014-03-31 22:36:16 +0200 |
commit | 66e0c7b187e130f5059e45e12832951deda31668 (patch) | |
tree | 4a346f9aaabe814e512bf811a6ea85728c075a77 /tests | |
parent | abc53733f34a8a29cc49c1ecb6475a11a44dcb7a (diff) | |
download | qemu-66e0c7b187e130f5059e45e12832951deda31668.zip qemu-66e0c7b187e130f5059e45e12832951deda31668.tar.gz qemu-66e0c7b187e130f5059e45e12832951deda31668.tar.bz2 |
qtest: Factor out qtest_qmp_receive()
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/libqtest.c | 15 | ||||
-rw-r--r-- | tests/libqtest.h | 18 |
2 files changed, 28 insertions, 5 deletions
diff --git a/tests/libqtest.c b/tests/libqtest.c index d9e3a33..8155695 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 8268c09..8f323c7 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. * |