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 <thuth@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
On Mon, Dec 20, 2021 at 3:11 AM Thomas Huth <thuth@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 <thuth@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 <jsnow@redhat.com>
These are really more your tests than mine :)
--js
On 20/12/21 09:10, Thomas Huth 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 <thuth@redhat.com> > --- > tests/qtest/cdrom-test.c | 60 ++++++++++++++++++++++++++-------------- > 1 file changed, 39 insertions(+), 21 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
© 2016 - 2026 Red Hat, Inc.