From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51490) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUjUN-0006ut-Du for qemu-devel@nongnu.org; Mon, 31 Mar 2014 17:11:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WUjU8-0006Gx-SZ for qemu-devel@nongnu.org; Mon, 31 Mar 2014 17:11:27 -0400 Received: from cantor2.suse.de ([195.135.220.15]:49322 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUjU8-0006Ge-MY for qemu-devel@nongnu.org; Mon, 31 Mar 2014 17:11:12 -0400 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 5878EACDB for ; Mon, 31 Mar 2014 21:11:12 +0000 (UTC) From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Mon, 31 Mar 2014 23:10:56 +0200 Message-Id: <1396300262-10430-11-git-send-email-afaerber@suse.de> In-Reply-To: <1396300262-10430-1-git-send-email-afaerber@suse.de> References: <1396300262-10430-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PULL for-2.0 10/16] qtest: Factor out qtest_qmp_receive() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Andreas=20F=C3=A4rber?= Signed-off-by: Andreas F=C3=A4rber --- tests/libqtest.c | 15 ++++++++++----- 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 =3D (QDict *)obj; } =20 -QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap) +QDict *qtest_qmp_receive(QTestState *s) { QMPResponseParser qmp; =20 - /* Send QMP request */ - socket_sendf(s->qmp_fd, fmt, ap); - - /* Receive reply */ qmp.response =3D 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; } =20 +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); =20 /** + * 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, ...); =20 /** + * 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. * --=20 1.8.4.5