Skip to content

Commit

Permalink
qtest: Factor out qtest_qmp_receive()
Browse files Browse the repository at this point in the history
Signed-off-by: Andreas Färber <afaerber@suse.de>
  • Loading branch information
afaerber committed Mar 31, 2014
1 parent abc5373 commit 66e0c7b
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
15 changes: 10 additions & 5 deletions tests/libqtest.c
Expand Up @@ -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) {
Expand All @@ -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;
Expand Down
18 changes: 18 additions & 0 deletions tests/libqtest.h
Expand Up @@ -82,6 +82,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.
Expand Down Expand Up @@ -366,6 +374,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.
Expand Down

0 comments on commit 66e0c7b

Please sign in to comment.