[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 12/21] libqtest: add in-process qtest.c tx/rx handlers
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v6 12/21] libqtest: add in-process qtest.c tx/rx handlers |
Date: |
Wed, 8 Jan 2020 17:03:29 +0000 |
On Sun, Jan 05, 2020 at 02:55:44PM -0500, Alexander Bulekov wrote:
> On 200103 1115, Stefan Hajnoczi wrote:
> > On Fri, Nov 29, 2019 at 09:34:47PM +0000, Oleinik, Alexander wrote:
> > > +QTestState *qtest_inproc_init(QTestState **s, bool log, const char* arch,
> > > + void (*send)(void*, const char*))
> > > +{
> > > + QTestState *qts;
> > > + qts = g_new0(QTestState, 1);
> > > + *s = qts; /* Expose qts early on, since the query endianness relies
> > > on it */
> > > + qts->wstatus = 0;
> > > + for (int i = 0; i < MAX_IRQ; i++) {
> > > + qts->irq_level[i] = false;
> > > + }
> > > +
> > > + qtest_client_set_rx_handler(qts, qtest_client_inproc_recv_line);
> > > +
> > > + /* send() may not have a matching protoype, so use a type-safe
> > > wrapper */
> > > + qts->ops.external_send = send;
> > > + qtest_client_set_tx_handler(qts, send_wrapper);
> > > +
> > > + qts->big_endian = qtest_query_target_endianness(qts);
> > > + gchar *bin_path = g_strconcat("/qemu-system-", arch, NULL);
> > > + setenv("QTEST_QEMU_BINARY", bin_path, 0);
> > > + g_free(bin_path);
> >
> > Is this a dummy path that is needed to make other code happy? Or does
> > the user need to have an actual file at /qemu-system-ARCH?
>
> Yes - with the inproc mode this is only needed to make qtest_get_arch
> happy, which simply returns the suffix of the env variable. Standard
> qtest initialization relies on it in qtest_init_without_qmp_handshake,
> but that function is not used by the fuzzer.
Cool, please add a comment to the code.
signature.asc
Description: PGP signature