Message ID | 20191030144926.11873-12-alxndr@bu.edu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add virtual device fuzzing support | expand |
On Wed, Oct 30, 2019 at 02:49:57PM +0000, Oleinik, Alexander wrote: > From: Alexander Oleinik <alxndr@bu.edu> > > 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 <alxndr@bu.edu> > --- > tests/libqtest.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tests/libqtest.c b/tests/libqtest.c > index 822bfe208b..ff3153daf2 100644 > --- a/tests/libqtest.c > +++ b/tests/libqtest.c > @@ -1083,8 +1083,8 @@ void qtest_bufwrite(QTestState *s, uint64_t addr, const void *data, size_t size) > > 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); > + s->ops.send(s, bdata, strlen(bdata)); > + s->ops.send(s, "\n", 1); > qtest_rsp(s, 0); > g_free(bdata); > } Please update the commit message and description - they no longer seem to match what the patch is doing. The qtest_sendf() is not atomic, it is still split into 3 send operations. Stefan
diff --git a/tests/libqtest.c b/tests/libqtest.c index 822bfe208b..ff3153daf2 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -1083,8 +1083,8 @@ void qtest_bufwrite(QTestState *s, uint64_t addr, const void *data, size_t size) 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); + s->ops.send(s, bdata, strlen(bdata)); + s->ops.send(s, "\n", 1); qtest_rsp(s, 0); g_free(bdata); }