[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 11/21] libqtest: make bufwrite rely on the TransportOps
From: |
Oleinik, Alexander |
Subject: |
[PATCH v6 11/21] libqtest: make bufwrite rely on the TransportOps |
Date: |
Fri, 29 Nov 2019 21:34:46 +0000 |
When using qtest "in-process" communication, qtest_sendf directly calls
a function in the server (qtest.c). Previously, bufwrite used
socket_send, which bypasses the TransportOps enabling the call into
qtest.c. This change replaces the socket_send calls with ops->send,
maintaining the benefits of the direct socket_send call, while adding
support for in-process qtest calls.
Signed-off-by: Alexander Bulekov <address@hidden>
---
tests/libqtest.c | 4 ++--
tests/libqtest.h | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index ac4b6ab5f0..a7df92319a 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -1080,8 +1080,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);
+ s->ops.send(s, "\n");
qtest_rsp(s, 0);
g_free(bdata);
}
diff --git a/tests/libqtest.h b/tests/libqtest.h
index c9e21e05b3..0e9b8908ef 100644
--- a/tests/libqtest.h
+++ b/tests/libqtest.h
@@ -729,4 +729,7 @@ bool qtest_probe_child(QTestState *s);
*/
void qtest_set_expected_status(QTestState *s, int status);
+QTestState *qtest_inproc_init(bool log, const char* arch,
+ void (*send)(void*, const char*));
+void qtest_client_inproc_recv(void *opaque, const char *str);
#endif
--
2.23.0
- [PATCH v6 00/21] Add virtual device fuzzing support, Oleinik, Alexander, 2019/11/29
- [PATCH v6 01/21] softmmu: split off vl.c:main() into main.c, Oleinik, Alexander, 2019/11/29
- [PATCH v6 02/21] libqos: Rename i2c_send and i2c_recv, Oleinik, Alexander, 2019/11/29
- [PATCH v6 07/21] qtest: add in-process incoming command handler, Oleinik, Alexander, 2019/11/29
- [PATCH v6 06/21] module: check module wasn't already initialized, Oleinik, Alexander, 2019/11/29
- [PATCH v6 04/21] qtest: add qtest_server_send abstraction, Oleinik, Alexander, 2019/11/29
- [PATCH v6 13/21] fuzz: add configure flag --enable-fuzzing, Oleinik, Alexander, 2019/11/29
- [PATCH v6 05/21] libqtest: Add a layer of abstraciton to send/recv, Oleinik, Alexander, 2019/11/29
- [PATCH v6 03/21] fuzz: Add FUZZ_TARGET module type, Oleinik, Alexander, 2019/11/29
- [PATCH v6 09/21] libqos: split qos-test and libqos makefile vars, Oleinik, Alexander, 2019/11/29
- [PATCH v6 11/21] libqtest: make bufwrite rely on the TransportOps,
Oleinik, Alexander <=
- [PATCH v6 10/21] libqos: move useful qos-test funcs to qos_external, Oleinik, Alexander, 2019/11/29
- [PATCH v6 14/21] fuzz: Add target/fuzz makefile rules, Oleinik, Alexander, 2019/11/29
- [PATCH v6 15/21] fuzz: add fuzzer skeleton, Oleinik, Alexander, 2019/11/29
- [PATCH v6 21/21] fuzz: add documentation to docs/devel/, Oleinik, Alexander, 2019/11/29
- [PATCH v6 19/21] fuzz: add virtio-net fuzz target, Oleinik, Alexander, 2019/11/29
- [PATCH v6 12/21] libqtest: add in-process qtest.c tx/rx handlers, Oleinik, Alexander, 2019/11/29
- [PATCH v6 08/21] tests: provide test variables to other targets, Oleinik, Alexander, 2019/11/29
- [PATCH v6 18/21] fuzz: add i440fx fuzz targets, Oleinik, Alexander, 2019/11/29
- [PATCH v6 20/21] fuzz: add virtio-scsi fuzz target, Oleinik, Alexander, 2019/11/29
- [PATCH v6 16/21] fuzz: add support for fork-based fuzzing., Oleinik, Alexander, 2019/11/29