[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 11/19] fuzz: add direct send/receive in qtest client
From: |
Oleinik, Alexander |
Subject: |
[Qemu-devel] [RFC 11/19] fuzz: add direct send/receive in qtest client |
Date: |
Thu, 25 Jul 2019 03:23:53 +0000 |
Directly interact with tests/libqtest.c functions
Signed-off-by: Alexander Oleinik <address@hidden>
---
qtest.c | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/qtest.c b/qtest.c
index 15e27e911f..a6134d3ed0 100644
--- a/qtest.c
+++ b/qtest.c
@@ -31,6 +31,9 @@
#ifdef TARGET_PPC64
#include "hw/ppc/spapr_rtas.h"
#endif
+#ifdef CONFIG_FUZZ
+#include "tests/libqtest.h"
+#endif
#define MAX_IRQ 256
@@ -231,10 +234,14 @@ static void GCC_FMT_ATTR(1, 2) qtest_log_send(const char
*fmt, ...)
static void do_qtest_send(CharBackend *chr, const char *str, size_t len)
{
+#ifdef CONFIG_FUZZ
+ qtest_client_recv(str, len);
+#else
qemu_chr_fe_write_all(chr, (uint8_t *)str, len);
if (qtest_log_fp && qtest_opened) {
fprintf(qtest_log_fp, "%s", str);
}
+#endif
}
static void qtest_send(CharBackend *chr, const char *str)
@@ -748,8 +755,11 @@ static void qtest_event(void *opaque, int event)
break;
}
}
-
+#ifdef CONFIG_FUZZ
+void qtest_init_server(const char *qtest_chrdev, const char *qtest_log, Error
**errp)
+#else
void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp)
+#endif
{
Chardev *chr;
@@ -781,3 +791,10 @@ bool qtest_driver(void)
{
return qtest_chr.chr != NULL;
}
+#ifdef CONFIG_FUZZ
+void qtest_server_recv(GString *inbuf)
+{
+ qtest_process_inbuf(NULL, inbuf);
+}
+#endif
+
--
2.20.1
- Re: [Qemu-devel] [RFC 05/19] fuzz: expose qemu_savevm_state & skip state header, (continued)
- [Qemu-devel] [RFC 06/19] fuzz: Add ramfile for fast vmstate/vmload, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 04/19] fuzz: Add qos support to fuzz targets, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 12/19] fuzz: hard-code all of the needed files for build, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 09/19] fuzz: use mtree_info to find mapped addresses, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 10/19] fuzz: expose real_main (aka regular vl.c:main), Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 11/19] fuzz: add direct send/receive in qtest client,
Oleinik, Alexander <=
- [Qemu-devel] [RFC 14/19] fuzz: hard-code a main-loop timeout, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 13/19] fuzz: add ctrl vq support to virtio-net in libqos, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 15/19] fuzz: add fuzz accelerator type, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 18/19] fuzz: Add virtio-net tx and ctrl fuzz targets, Oleinik, Alexander, 2019/07/24
- [Qemu-devel] [RFC 16/19] fuzz: add general fuzzer entrypoints, Oleinik, Alexander, 2019/07/24