[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 13/22] libqtest: make qtest_bufwrite send "at
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v3 13/22] libqtest: make qtest_bufwrite send "atomic" |
Date: |
Thu, 19 Sep 2019 11:37:41 +0100 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
On Wed, Sep 18, 2019 at 11:19:40PM +0000, Oleinik, Alexander wrote:
> When using qtest "in-process" communication, qtest_sendf directly calls
> a function in the server (qtest.c). Combining the contents of the
> subsequent socket_sends into the qtest_sendf, makes it so the server can
> immediately handle the command, without building a local buffer and
> waiting for a newline.
>
> Signed-off-by: Alexander Oleinik <address@hidden>
> ---
> tests/libqtest.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/tests/libqtest.c b/tests/libqtest.c
> index 19feea9e17..d770462869 100644
> --- a/tests/libqtest.c
> +++ b/tests/libqtest.c
> @@ -1086,9 +1086,7 @@ void qtest_bufwrite(QTestState *s, uint64_t addr, const
> void *data, size_t size)
> gchar *bdata;
>
> bdata = g_base64_encode(data, size);
> - qtest_sendf(s, "b64write 0x%" PRIx64 " 0x%zx ", addr, size);
> - socket_send(s->fd, bdata, strlen(bdata));
> - socket_send(s->fd, "\n", 1);
> + qtest_sendf(s, "b64write 0x%" PRIx64 " 0x%zx %s\n", addr, size, bdata);
> qtest_rsp(s, 0);
> g_free(bdata);
> }
> --
> 2.23.0
Cc John Snow, who added the b64write command.
The downside to doing this is that sprintf-formatting needs to be
performed on the entire base64 buffer. This slows things down slightly
and a larger temporary buffer needs to be allocated, but I'm not sure it
matters.
signature.asc
Description: PGP signature
- Re: [Qemu-devel] [PATCH v3 08/22] module: check module wasn't already initialized, (continued)
- [Qemu-devel] [PATCH v3 07/22] fuzz: Add target/fuzz makefile rules, Oleinik, Alexander, 2019/09/18
- [Qemu-devel] [PATCH v3 06/22] fuzz: add configure flag --enable-fuzzing, Oleinik, Alexander, 2019/09/18
- [Qemu-devel] [PATCH v3 09/22] qtest: add in-process incoming command handler, Oleinik, Alexander, 2019/09/18
- [Qemu-devel] [PATCH v3 10/22] tests: provide test variables to other targets, Oleinik, Alexander, 2019/09/18
- [Qemu-devel] [PATCH v3 11/22] libqos: split qos-test and libqos makefile vars, Oleinik, Alexander, 2019/09/18
- [Qemu-devel] [PATCH v3 13/22] libqtest: make qtest_bufwrite send "atomic", Oleinik, Alexander, 2019/09/18
[Qemu-devel] [PATCH v3 14/22] libqtest: add in-process qtest.c tx/rx handlers, Oleinik, Alexander, 2019/09/18
[Qemu-devel] [PATCH v3 12/22] libqos: move useful qos-test funcs to qos_external, Oleinik, Alexander, 2019/09/18
[Qemu-devel] [PATCH v3 15/22] fuzz: Add target/fuzz makefile rules, Oleinik, Alexander, 2019/09/18