[PATCH 2/4] tests: more fine-granular tests for virtio-options

Michal Privoznik mprivozn at redhat.com
Mon Apr 27 10:06:36 UTC 2020


On 4/23/20 3:15 PM, Bjoern Walk wrote:
> Add separate tests for individual options and devices for virtio-options
> to have the ability to do more fine-granular testing of various
> combinations.
> 
> Also, add negative tests for unavailable capabilities.
> 
> Reviewed-by: Boris Fiuczynski <fiuczy at linux.ibm.com>
> Signed-off-by: Bjoern Walk <bwalk at linux.ibm.com>
> ---
>   .../virtio-options-controller-ats.args        | 32 ++++++
>   .../virtio-options-controller-ats.xml         | 38 +++++++
>   .../virtio-options-controller-iommu.args      | 34 +++++++
>   .../virtio-options-controller-iommu.xml       | 38 +++++++
>   .../virtio-options-controller-packed.args     | 32 ++++++
>   .../virtio-options-controller-packed.xml      | 38 +++++++
>   .../virtio-options-disk-ats.args              | 36 +++++++
>   .../virtio-options-disk-ats.xml               | 34 +++++++
>   .../virtio-options-disk-iommu.args            | 36 +++++++
>   .../virtio-options-disk-iommu.xml             | 34 +++++++
>   .../virtio-options-disk-packed.args           | 36 +++++++
>   .../virtio-options-disk-packed.xml            | 34 +++++++
>   .../virtio-options-fs-ats.args                | 34 +++++++
>   .../virtio-options-fs-ats.xml                 | 34 +++++++
>   .../virtio-options-fs-iommu.args              | 34 +++++++
>   .../virtio-options-fs-iommu.xml               | 34 +++++++
>   .../virtio-options-fs-packed.args             | 34 +++++++
>   .../virtio-options-fs-packed.xml              | 34 +++++++
>   .../virtio-options-input-ats.args             | 30 ++++++
>   .../virtio-options-input-ats.xml              | 30 ++++++
>   .../virtio-options-input-iommu.args           | 30 ++++++
>   .../virtio-options-input-iommu.xml            | 30 ++++++
>   .../virtio-options-input-packed.args          | 30 ++++++
>   .../virtio-options-input-packed.xml           | 30 ++++++
>   .../virtio-options-memballoon-ats.args        | 28 ++++++
>   .../virtio-options-memballoon-ats.xml         | 23 +++++
>   .../virtio-options-memballoon-iommu.args      | 28 ++++++
>   .../virtio-options-memballoon-iommu.xml       | 23 +++++
>   .../virtio-options-memballoon-packed.args     | 28 ++++++
>   .../virtio-options-memballoon-packed.xml      | 23 +++++
>   .../virtio-options-net-ats.args               | 34 +++++++
>   .../virtio-options-net-ats.xml                | 34 +++++++
>   .../virtio-options-net-iommu.args             | 34 +++++++
>   .../virtio-options-net-iommu.xml              | 34 +++++++
>   .../virtio-options-net-packed.args            | 34 +++++++
>   .../virtio-options-net-packed.xml             | 34 +++++++
>   .../virtio-options-rng-ats.args               | 32 ++++++
>   .../virtio-options-rng-ats.xml                | 32 ++++++
>   .../virtio-options-rng-iommu.args             | 34 +++++++
>   .../virtio-options-rng-iommu.xml              | 32 ++++++
>   .../virtio-options-rng-packed.args            | 32 ++++++
>   .../virtio-options-rng-packed.xml             | 32 ++++++
>   .../virtio-options-video-ats.args             | 34 +++++++
>   .../virtio-options-video-ats.xml              | 36 +++++++
>   .../virtio-options-video-iommu.args           | 34 +++++++
>   .../virtio-options-video-iommu.xml            | 36 +++++++
>   .../virtio-options-video-packed.args          | 34 +++++++
>   .../virtio-options-video-packed.xml           | 36 +++++++
>   tests/qemuxml2argvtest.c                      | 99 +++++++++++++++++++
>   49 files changed, 1666 insertions(+)
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-controller-packed.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-disk-packed.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-fs-packed.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-input-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-input-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-input-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-input-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-input-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-input-packed.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-memballoon-packed.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-net-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-net-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-net-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-net-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-net-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-net-packed.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-rng-packed.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-video-ats.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-video-ats.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-video-iommu.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-video-iommu.xml
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-video-packed.args
>   create mode 100644 tests/qemuxml2argvdata/virtio-options-video-packed.xml
> 

> diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
> index dffca323..7ceb3aee 100644
> --- a/tests/qemuxml2argvtest.c
> +++ b/tests/qemuxml2argvtest.c
> @@ -2982,6 +2982,105 @@ mymain(void)
>                           QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS);
>   
>       DO_TEST_CAPS_LATEST("virtio-options");
> +    DO_TEST("virtio-options-controller-iommu", QEMU_CAPS_VIRTIO_SCSI,
> +            QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-disk-iommu", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-fs-iommu", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-input-iommu", QEMU_CAPS_VIRTIO_MOUSE,
> +            QEMU_CAPS_VIRTIO_KEYBOARD,
> +            QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-memballoon-iommu",
> +            QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-net-iommu", QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-rng-iommu", QEMU_CAPS_DEVICE_VIRTIO_RNG,
> +            QEMU_CAPS_OBJECT_RNG_RANDOM,
> +            QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-video-iommu", QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +            QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +            QEMU_CAPS_VIRTIO_GPU_VIRGL,
> +            QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
> +            QEMU_CAPS_DEVICE_VHOST_USER_GPU,
> +            QEMU_CAPS_VIRTIO_PCI_IOMMU_PLATFORM);
> +    DO_TEST("virtio-options-controller-ats", QEMU_CAPS_VIRTIO_SCSI,
> +            QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-disk-ats", QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-fs-ats", QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-input-ats", QEMU_CAPS_VIRTIO_MOUSE,
> +            QEMU_CAPS_VIRTIO_KEYBOARD,
> +            QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-memballoon-ats",
> +            QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-net-ats", QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-rng-ats", QEMU_CAPS_DEVICE_VIRTIO_RNG,
> +            QEMU_CAPS_OBJECT_RNG_RANDOM,
> +            QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-video-ats", QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +            QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +            QEMU_CAPS_VIRTIO_GPU_VIRGL,
> +            QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
> +            QEMU_CAPS_DEVICE_VHOST_USER_GPU,
> +            QEMU_CAPS_VIRTIO_PCI_ATS);
> +    DO_TEST("virtio-options-controller-packed", QEMU_CAPS_VIRTIO_SCSI,
> +            QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST("virtio-options-disk-packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST("virtio-options-fs-packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST("virtio-options-input-packed", QEMU_CAPS_VIRTIO_MOUSE,
> +            QEMU_CAPS_VIRTIO_KEYBOARD,
> +            QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST("virtio-options-memballoon-packed",
> +            QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST("virtio-options-net-packed", QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST("virtio-options-rng-packed", QEMU_CAPS_DEVICE_VIRTIO_RNG,
> +            QEMU_CAPS_OBJECT_RNG_RANDOM,
> +            QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST("virtio-options-video-packed", QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +            QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +            QEMU_CAPS_VIRTIO_GPU_VIRGL,
> +            QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
> +            QEMU_CAPS_DEVICE_VHOST_USER_GPU,
> +            QEMU_CAPS_VIRTIO_PACKED_QUEUES);
> +    DO_TEST_FAILURE("virtio-options-controller-iommu", QEMU_CAPS_VIRTIO_SCSI);
> +    DO_TEST_FAILURE("virtio-options-disk-iommu", NONE);
> +    DO_TEST_FAILURE("virtio-options-fs-iommu", NONE);
> +    DO_TEST_FAILURE("virtio-options-input-iommu", QEMU_CAPS_VIRTIO_MOUSE,
> +                    QEMU_CAPS_VIRTIO_KEYBOARD);
> +    DO_TEST_FAILURE("virtio-options-memballoon-iommu", NONE);
> +    DO_TEST_FAILURE("virtio-options-net-iommu", NONE);
> +    DO_TEST_FAILURE("virtio-options-rng-iommu", QEMU_CAPS_DEVICE_VIRTIO_RNG,
> +                    QEMU_CAPS_OBJECT_RNG_RANDOM);
> +    DO_TEST_FAILURE("virtio-options-video-iommu", QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +                    QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +                    QEMU_CAPS_VIRTIO_GPU_VIRGL,
> +                    QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
> +                    QEMU_CAPS_DEVICE_VHOST_USER_GPU);
> +    DO_TEST_FAILURE("virtio-options-controller-ats", QEMU_CAPS_VIRTIO_SCSI);
> +    DO_TEST_FAILURE("virtio-options-disk-ats", NONE);
> +    DO_TEST_FAILURE("virtio-options-fs-ats", NONE);
> +    DO_TEST_FAILURE("virtio-options-input-ats", QEMU_CAPS_VIRTIO_MOUSE,
> +                    QEMU_CAPS_VIRTIO_KEYBOARD);
> +    DO_TEST_FAILURE("virtio-options-memballoon-ats", NONE);
> +    DO_TEST_FAILURE("virtio-options-net-ats", NONE);
> +    DO_TEST_FAILURE("virtio-options-rng-ats", QEMU_CAPS_DEVICE_VIRTIO_RNG,
> +                    QEMU_CAPS_OBJECT_RNG_RANDOM);
> +    DO_TEST_FAILURE("virtio-options-video-ats", QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +                    QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +                    QEMU_CAPS_VIRTIO_GPU_VIRGL,
> +                    QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
> +                    QEMU_CAPS_DEVICE_VHOST_USER_GPU);
> +    DO_TEST_FAILURE("virtio-options-controller-packed", QEMU_CAPS_VIRTIO_SCSI);
> +    DO_TEST_FAILURE("virtio-options-disk-packed", NONE);
> +    DO_TEST_FAILURE("virtio-options-fs-packed", NONE);
> +    DO_TEST_FAILURE("virtio-options-input-packed", QEMU_CAPS_VIRTIO_MOUSE,
> +                    QEMU_CAPS_VIRTIO_KEYBOARD);
> +    DO_TEST_FAILURE("virtio-options-memballoon-packed", NONE);
> +    DO_TEST_FAILURE("virtio-options-net-packed", NONE);
> +    DO_TEST_FAILURE("virtio-options-rng-packed", QEMU_CAPS_DEVICE_VIRTIO_RNG,
> +                    QEMU_CAPS_OBJECT_RNG_RANDOM);
> +    DO_TEST_FAILURE("virtio-options-video-packed", QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +                    QEMU_CAPS_DEVICE_VIRTIO_GPU,
> +                    QEMU_CAPS_VIRTIO_GPU_VIRGL,
> +                    QEMU_CAPS_DEVICE_VIDEO_PRIMARY,
> +                    QEMU_CAPS_DEVICE_VHOST_USER_GPU);

Impressive. But should we turn these into DO_TEST_CAPS_LATEST() and 
DO_TEST_CAPS_LATEST_FAILURE() respectively? That would need to be 
followed by .args rename but I'm okay doing both locally if you agree.

Michal




More information about the libvir-list mailing list