[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 02/24] libqtest: return progress from qmp/qmpv
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 02/24] libqtest: return progress from qmp/qmpv |
Date: |
Wed, 30 Oct 2013 13:06:29 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 28.10.2013 um 17:43 hat Paolo Bonzini geschrieben:
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
> tests/libqtest.c | 10 +++++++---
> tests/libqtest.h | 17 +++++++++++------
> 2 files changed, 18 insertions(+), 9 deletions(-)
>
> diff --git a/tests/libqtest.c b/tests/libqtest.c
> index bb82069..5205a43 100644
> --- a/tests/libqtest.c
> +++ b/tests/libqtest.c
> @@ -291,7 +291,7 @@ redo:
> return words;
> }
>
> -void qtest_qmpv(QTestState *s, const char *fmt, va_list ap)
> +bool qtest_qmpv(QTestState *s, const char *fmt, va_list ap)
> {
> bool has_reply = false;
> int nesting = 0;
> @@ -324,15 +324,19 @@ void qtest_qmpv(QTestState *s, const char *fmt, va_list
> ap)
> break;
> }
> }
> + return has_reply;
> }
>
> -void qtest_qmp(QTestState *s, const char *fmt, ...)
> +bool qtest_qmp(QTestState *s, const char *fmt, ...)
> {
> va_list ap;
> + bool has_reply;
>
> va_start(ap, fmt);
> - qtest_qmpv(s, fmt, ap);
> + has_reply = qtest_qmpv(s, fmt, ap);
> va_end(ap);
> +
> + return has_reply;
> }
>
> const char *qtest_get_arch(void)
> diff --git a/tests/libqtest.h b/tests/libqtest.h
> index a6e99bd..e8a4e34 100644
> --- a/tests/libqtest.h
> +++ b/tests/libqtest.h
> @@ -48,9 +48,10 @@ void qtest_quit(QTestState *s);
> * @s: #QTestState instance to operate on.
> * @fmt...: QMP message to send to qemu
> *
> - * Sends a QMP message to QEMU
> + * Sends a QMP message to QEMU. Returns true if there
> + * was a reply.
> */
> -void qtest_qmp(QTestState *s, const char *fmt, ...);
> +bool qtest_qmp(QTestState *s, const char *fmt, ...);
>
> /**
> * qtest_qmpv:
> @@ -58,9 +59,10 @@ void qtest_qmp(QTestState *s, const char *fmt, ...);
> * @fmt: QMP message to send to QEMU
> * @ap: QMP message arguments
> *
> - * Sends a QMP message to QEMU.
> + * Sends a QMP message to QEMU. Returns true if there
> + * was a reply.
> */
> -void qtest_qmpv(QTestState *s, const char *fmt, va_list ap);
> +bool qtest_qmpv(QTestState *s, const char *fmt, va_list ap);
>
> /**
> * qtest_get_irq:
> @@ -336,13 +338,16 @@ static inline void qtest_end(void)
> *
> * Sends a QMP message to QEMU
> */
> -static inline void qmp(const char *fmt, ...)
> +static inline bool qmp(const char *fmt, ...)
> {
> va_list ap;
> + bool has_reply;
>
> va_start(ap, fmt);
> - qtest_qmpv(global_qtest, fmt, ap);
> + has_reply = qtest_qmpv(global_qtest, fmt, ap);
> va_end(ap);
> +
> + return has_reply;
> }
Can this ever return false? If there isn't a reply, doesn't it wait
until it receives one?
Anyway, I think Stefan had some patches to actually get the reply in a
usable way. They probably conflict with this. Perhaps just applying
Stefan's patches already gives you what you need here?
Kevin
- [Qemu-devel] [WIP PATCH 00/24] IDE cleanups, initial work on AHCI rerror/werror=stop, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 01/24] blkdebug: report errors on flush too, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 02/24] libqtest: return progress from qmp/qmpv, Paolo Bonzini, 2013/10/28
- Re: [Qemu-devel] [PATCH 02/24] libqtest: return progress from qmp/qmpv,
Kevin Wolf <=
- [Qemu-devel] [PATCH 03/24] libqtest: add QTEST_LOG for debugging qtest testcases, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 04/24] ide-test: add test for werror=stop, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 05/24] ide: simplify reset callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 06/24] ide: simplify set_inactive callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 07/24] ide: simplify async_cmd_done callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 08/24] ide: simplify start_transfer callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 09/24] ide: wrap start_dma callback, Paolo Bonzini, 2013/10/28