[Libguestfs] Having integration tests "test the future" with QEMU

Markus Armbruster armbru at redhat.com
Wed Mar 4 14:48:34 UTC 2020


I understand libguestfs comes with integration tests.  You might be
interested in something I'm developing for QEMU 5.0 to permit "testing
the future".  I'd like to ensure it is actually useful before I
continue.  Let me know what you think.

= Motivation =

When layers above QEMU somehow miss feature deprecation, things continue
to work until the deprecated interface goes away, at which point we have
an entirely avoidable regression.

We've been trying to get better at communicating feature deprecation to
the layers above QEMU.  An obvious first step was systematic
documentation.

However, documentation is all too easy to miss.  Even if you don't miss
it, you may need to continue using the deprecated feature with old
versions of QEMU, and that logic needs to be tested.

I'm working on a way to run QEMU with the deprecated features disabled.
This permits "testing the future".

>From my cover letter:

    This series extends QMP introspection to cover deprecation.
    Additionally, new option -compat lets you configure what to do when
    deprecated interfaces get used.  This is intended for testing users of
    the management interfaces.  It is experimental.

    -compat deprecated-input=<in-policy> configures what to do when
    deprecated input is received.  Available policies:

    * accept: Accept deprecated commands and arguments (default)
    * reject: Reject them
    * crash: Crash

    -compat deprecated-output=<out-policy> configures what to do when
    deprecated output is sent.  Available output policies:

    * accept: Emit deprecated command results and events (default)
    * hide: Suppress them

    For now, -compat covers only deprecated syntactic aspects of QMP.  We
    may want to extend it to cover semantic aspects, CLI, and experimental
    features.

If you want to learn more, check out the last three commit messages in
the series.

= Patches =

    [PATCH v2 00/30] Configurable policy for handling deprecated interfaces
    Message-Id: <20200303163505.32041-1-armbru at redhat.com>
    https://lists.nongnu.org/archive/html/qemu-devel/2020-03/msg00645.html

= Git =

    Tag patchew/20200303163505.32041-1-armbru at redhat.com in repository
    https://github.com/patchew-project/qemu.git




More information about the Libguestfs mailing list