Hi

On Wed, Sep 23, 2026 at 1:37 PM Kevin Wolf <[email protected]> wrote:
>
> Am 22.09.2026 um 22:17 hat Marc-André Lureau geschrieben:
> > Hi,
> >
> > This series migrates all qemu-iotests away from HMP, so that the test
> > framework no longer depends on it and can execute with --disable-hmp.
> > This can simplify the tests, as they don't need to check/grep on stdout,
> > HMP & QMP but can rely increasingly on QMP alone.
>
> Hm... Doesn't this mean that HMP loses all of its test coverage? I don't
> feel that's a good idea.

You're right that we shouldn't lose HMP coverage, the question is
where it belongs?

HMP is supposed to be just a frontend to QMP. Imho, testing that
interface is not the scope of qemu-iotests. We should have dedicated
tests for this, and better coverage.

Also, most of what qemu-iotests exercice of HMP is simply qemu-io,
which is the same with QMP.

> Most tests are based on diffing stdout anyway, so I don't expect this
> removal simplifies them much. I'll have to look at the individual
> patches, but I'd rather expect that their output becomes harder to read
> instead.

Yes, if we want "human readable" dumps, it is a bit more verbose in
JSON. But it's often better to have structured output you can test,
instead of bare strings that do not have stability guarantee.

>
> What are the general plans with HMP? Are we expecting most builds to
> have HMP disabled in the future? (Why? It's useful for human users.)

I expect QEMU will keep offering a "human" monitor by default. But QMP
should be a superset, so other "human" interfaces and tools can be
developped with the same functionality it offers.

> I think most tests probably combine testing the HMP interface with
> testing the backend functionality. If we really expect missing HMP to be
> a relevant case in the future, these parts need to be separated so that
> the backend test can run with QMP only while the HMP interface tests run
> only when HMP is available.
>
> Not sure how this is best done without effectively running all tests
> twice. Maybe there is a middle ground of converting some tests to QMP
> and making other tests explicitgly depend on HMP (i.e. they are skipped
> if HMP isn't available).

That could work, but maintaining two variants (or conditional paths)
per test adds burden without improving HMP coverage. The current tests
exercise HMP incidentally, not deliberately. A cleaner split: migrate
qemu-iotests fully to QMP for backend correctness, and add dedicated
HMP tests that intentionally validate the monitor frontend. I will
work on it for the next iteration.

thanks


Reply via email to