On Mon, Dec 20, 2021 at 3:11 AM Thomas Huth <th...@redhat.com> wrote:

> Downstream users might want to disable legacy devices in their binaries,
> so we should not blindly assume that they are available. Add some proper
> checks before using them.
>
> Signed-off-by: Thomas Huth <th...@redhat.com>
> ---
>  tests/qtest/cdrom-test.c | 60 ++++++++++++++++++++++++++--------------
>  1 file changed, 39 insertions(+), 21 deletions(-)
>
> diff --git a/tests/qtest/cdrom-test.c b/tests/qtest/cdrom-test.c
> index c1fcac5c45..cfca24fa94 100644
> --- a/tests/qtest/cdrom-test.c
> +++ b/tests/qtest/cdrom-test.c
> @@ -142,21 +142,36 @@ static void add_x86_tests(void)
>          qtest_add_data_func("cdrom/boot/isapc", "-M isapc "
>                              "-drive if=ide,media=cdrom,file=",
> test_cdboot);
>      }
> -    qtest_add_data_func("cdrom/boot/am53c974",
> -                        "-device am53c974 -device scsi-cd,drive=cd1 "
> -                        "-drive if=none,id=cd1,format=raw,file=",
> test_cdboot);
> -    qtest_add_data_func("cdrom/boot/dc390",
> -                        "-device dc390 -device scsi-cd,drive=cd1 "
> -                        "-blockdev file,node-name=cd1,filename=",
> test_cdboot);
> -    qtest_add_data_func("cdrom/boot/lsi53c895a",
> -                        "-device lsi53c895a -device scsi-cd,drive=cd1 "
> -                        "-blockdev file,node-name=cd1,filename=",
> test_cdboot);
> -    qtest_add_data_func("cdrom/boot/megasas", "-M q35 "
> -                        "-device megasas -device scsi-cd,drive=cd1 "
> -                        "-blockdev file,node-name=cd1,filename=",
> test_cdboot);
> -    qtest_add_data_func("cdrom/boot/megasas-gen2", "-M q35 "
> -                        "-device megasas-gen2 -device scsi-cd,drive=cd1 "
> -                        "-blockdev file,node-name=cd1,filename=",
> test_cdboot);
> +    if (qtest_has_device("am53c974")) {
> +        qtest_add_data_func("cdrom/boot/am53c974",
> +                            "-device am53c974 -device scsi-cd,drive=cd1 "
> +                            "-drive if=none,id=cd1,format=raw,file=",
> +                            test_cdboot);
> +    }
> +    if (qtest_has_device("dc390")) {
> +        qtest_add_data_func("cdrom/boot/dc390",
> +                            "-device dc390 -device scsi-cd,drive=cd1 "
> +                            "-blockdev file,node-name=cd1,filename=",
> +                            test_cdboot);
> +    }
> +    if (qtest_has_device("lsi53c895a")) {
> +        qtest_add_data_func("cdrom/boot/lsi53c895a",
> +                            "-device lsi53c895a -device scsi-cd,drive=cd1
> "
> +                            "-blockdev file,node-name=cd1,filename=",
> +                            test_cdboot);
> +    }
> +    if (qtest_has_device("megasas")) {
> +        qtest_add_data_func("cdrom/boot/megasas", "-M q35 "
> +                            "-device megasas -device scsi-cd,drive=cd1 "
> +                            "-blockdev file,node-name=cd1,filename=",
> +                            test_cdboot);
> +    }
> +    if (qtest_has_device("megasas-gen2")) {
> +        qtest_add_data_func("cdrom/boot/megasas-gen2", "-M q35 "
> +                            "-device megasas-gen2 -device
> scsi-cd,drive=cd1 "
> +                            "-blockdev file,node-name=cd1,filename=",
> +                            test_cdboot);
> +    }
>  }
>
>  static void add_s390x_tests(void)
> @@ -171,12 +186,15 @@ static void add_s390x_tests(void)
>                          "-drive
> driver=null-co,read-zeroes=on,if=none,id=d1 "
>                          "-device virtio-blk,drive=d2,bootindex=1 "
>                          "-drive if=none,id=d2,media=cdrom,file=",
> test_cdboot);
> -    qtest_add_data_func("cdrom/boot/without-bootindex",
> -                        "-device virtio-scsi -device virtio-serial "
> -                        "-device x-terminal3270 -device
> virtio-blk,drive=d1 "
> -                        "-drive
> driver=null-co,read-zeroes=on,if=none,id=d1 "
> -                        "-device virtio-blk,drive=d2 "
> -                        "-drive if=none,id=d2,media=cdrom,file=",
> test_cdboot);
> +    if (qtest_has_device("x-terminal3270")) {
> +        qtest_add_data_func("cdrom/boot/without-bootindex",
> +                            "-device virtio-scsi -device virtio-serial "
> +                            "-device x-terminal3270 -device
> virtio-blk,drive=d1 "
> +                            "-drive
> driver=null-co,read-zeroes=on,if=none,id=d1 "
> +                            "-device virtio-blk,drive=d2 "
> +                            "-drive if=none,id=d2,media=cdrom,file=",
> +                            test_cdboot);
> +    }
>  }
>
>  int main(int argc, char **argv)
> --
> 2.27.0
>
>
Acked-by: John Snow <js...@redhat.com>

These are really more your tests than mine :)

--js

Reply via email to