[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/7] libqtest: add qmp(fmt, ...) -> QDict* fu
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/7] libqtest: add qmp(fmt, ...) -> QDict* function |
Date: |
Wed, 06 Nov 2013 16:32:40 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 |
Am 30.10.2013 14:54, schrieb Stefan Hajnoczi:
> Add a qtest qmp() function that returns the response object. This
> allows test cases to verify the result or to check for error responses.
> It also allows waiting for QMP events.
>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
> tests/libqtest.c | 66
> ++++++++++++++++++++++++++++++++++++++++++++------------
> tests/libqtest.h | 37 +++++++++++++++++++++++++++++++
> 2 files changed, 89 insertions(+), 14 deletions(-)
[...]
> diff --git a/tests/libqtest.h b/tests/libqtest.h
> index 4f1b060..9deebdc 100644
> --- a/tests/libqtest.h
> +++ b/tests/libqtest.h
> @@ -22,6 +22,7 @@
> #include <stdbool.h>
> #include <stdarg.h>
> #include <sys/types.h>
> +#include "qapi/qmp/qdict.h"
>
> typedef struct QTestState QTestState;
>
> @@ -53,6 +54,15 @@ void qtest_quit(QTestState *s);
> void qtest_qmp_discard_response(QTestState *s, const char *fmt, ...);
>
> /**
> + * qtest_qmp:
> + * @s: #QTestState instance to operate on.
> + * @fmt...: QMP message to send to qemu
> + *
> + * Sends a QMP message to QEMU and returns the response.
> + */
> +QDict *qtest_qmp(QTestState *s, const char *fmt, ...);
> +
> +/**
> * qtest_qmpv_discard_response:
> * @s: #QTestState instance to operate on.
> * @fmt: QMP message to send to QEMU
> @@ -63,6 +73,16 @@ void qtest_qmp_discard_response(QTestState *s, const char
> *fmt, ...);
> void qtest_qmpv_discard_response(QTestState *s, const char *fmt, va_list ap);
>
> /**
> + * qtest_qmpv:
> + * @s: #QTestState instance to operate on.
> + * @fmt: QMP message to send to QEMU
> + * @ap: QMP message arguments
> + *
> + * Sends a QMP message to QEMU and returns the response.
> + */
> +QDict *qtest_qmpv(QTestState *s, const char *fmt, va_list ap);
> +
> +/**
> * qtest_get_irq:
> * @s: #QTestState instance to operate on.
> * @num: Interrupt to observe.
> @@ -331,6 +351,23 @@ static inline void qtest_end(void)
> }
>
> /**
> + * qmp:
> + * @fmt...: QMP message to send to qemu
> + *
> + * Sends a QMP message to QEMU and returns the response.
> + */
> +static inline QDict *qmp(const char *fmt, ...)
> +{
> + va_list ap;
> + QDict *response;
> +
> + va_start(ap, fmt);
> + response = qtest_qmpv(global_qtest, fmt, ap);
> + va_end(ap);
> + return response;
> +}
> +
> +/**
> * qmp_discard_response:
> * @fmt...: QMP message to send to qemu
> *
I can't really judge the JSON implementation, but it looks sane reusing
existing code.
The new prototypes could get the GCC_FMT_ATTR(2,3) and
GCC_FMT_ATTR(1,2), but since that's an improvement over existing code it
can be done as follow-up, so
Reviewed-by: Andreas Färber <address@hidden>
and thanks a lot for following up on Jason's earlier attempt!
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v3 4/7] libqtest: add qmp(fmt, ...) -> QDict* function,
Andreas Färber <=