tests/qtest: Check for devices in bios-tables-test
Do not include tests that require devices that are not available in the QEMU build. Signed-off-by: Fabiano Rosas <farosas@suse.de> Acked-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20230208194700.11035-10-farosas@suse.de> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
184c16d1ac
commit
c471eb4f40
@ -1008,6 +1008,12 @@ static void test_acpi_q35_multif_bridge(void)
|
|||||||
.machine = MACHINE_Q35,
|
.machine = MACHINE_Q35,
|
||||||
.variant = ".multi-bridge",
|
.variant = ".multi-bridge",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!qtest_has_device("pcie-root-port")) {
|
||||||
|
g_test_skip("Device pcie-root-port is not available");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
test_vm_prepare("-S"
|
test_vm_prepare("-S"
|
||||||
" -device virtio-balloon,id=balloon0,addr=0x4.0x2"
|
" -device virtio-balloon,id=balloon0,addr=0x4.0x2"
|
||||||
" -device pcie-root-port,id=rp0,multifunction=on,"
|
" -device pcie-root-port,id=rp0,multifunction=on,"
|
||||||
@ -1043,6 +1049,7 @@ static void test_acpi_q35_multif_bridge(void)
|
|||||||
/* check that reboot/reset doesn't change any ACPI tables */
|
/* check that reboot/reset doesn't change any ACPI tables */
|
||||||
qtest_qmp_send(data.qts, "{'execute':'system_reset' }");
|
qtest_qmp_send(data.qts, "{'execute':'system_reset' }");
|
||||||
process_acpi_tables(&data);
|
process_acpi_tables(&data);
|
||||||
|
out:
|
||||||
free_test_data(&data);
|
free_test_data(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1396,6 +1403,11 @@ static void test_acpi_tcg_dimm_pxm(const char *machine)
|
|||||||
{
|
{
|
||||||
test_data data;
|
test_data data;
|
||||||
|
|
||||||
|
if (!qtest_has_device("nvdimm")) {
|
||||||
|
g_test_skip("Device nvdimm is not available");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
memset(&data, 0, sizeof(data));
|
memset(&data, 0, sizeof(data));
|
||||||
data.machine = machine;
|
data.machine = machine;
|
||||||
data.variant = ".dimmpxm";
|
data.variant = ".dimmpxm";
|
||||||
@ -1444,6 +1456,11 @@ static void test_acpi_virt_tcg_memhp(void)
|
|||||||
.scan_len = 256ULL * 1024 * 1024,
|
.scan_len = 256ULL * 1024 * 1024,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!qtest_has_device("nvdimm")) {
|
||||||
|
g_test_skip("Device nvdimm is not available");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
data.variant = ".memhp";
|
data.variant = ".memhp";
|
||||||
test_acpi_one(" -machine nvdimm=on"
|
test_acpi_one(" -machine nvdimm=on"
|
||||||
" -cpu cortex-a57"
|
" -cpu cortex-a57"
|
||||||
@ -1457,7 +1474,7 @@ static void test_acpi_virt_tcg_memhp(void)
|
|||||||
" -device pc-dimm,id=dimm0,memdev=ram2,node=0"
|
" -device pc-dimm,id=dimm0,memdev=ram2,node=0"
|
||||||
" -device nvdimm,id=dimm1,memdev=nvm0,node=1",
|
" -device nvdimm,id=dimm1,memdev=nvm0,node=1",
|
||||||
&data);
|
&data);
|
||||||
|
out:
|
||||||
free_test_data(&data);
|
free_test_data(&data);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1475,6 +1492,11 @@ static void test_acpi_microvm_tcg(void)
|
|||||||
{
|
{
|
||||||
test_data data;
|
test_data data;
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-blk-device")) {
|
||||||
|
g_test_skip("Device virtio-blk-device is not available");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
test_acpi_microvm_prepare(&data);
|
test_acpi_microvm_prepare(&data);
|
||||||
test_acpi_one(" -machine microvm,acpi=on,ioapic2=off,rtc=off",
|
test_acpi_one(" -machine microvm,acpi=on,ioapic2=off,rtc=off",
|
||||||
&data);
|
&data);
|
||||||
@ -1485,6 +1507,11 @@ static void test_acpi_microvm_usb_tcg(void)
|
|||||||
{
|
{
|
||||||
test_data data;
|
test_data data;
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-blk-device")) {
|
||||||
|
g_test_skip("Device virtio-blk-device is not available");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
test_acpi_microvm_prepare(&data);
|
test_acpi_microvm_prepare(&data);
|
||||||
data.variant = ".usb";
|
data.variant = ".usb";
|
||||||
test_acpi_one(" -machine microvm,acpi=on,ioapic2=off,usb=on,rtc=off",
|
test_acpi_one(" -machine microvm,acpi=on,ioapic2=off,usb=on,rtc=off",
|
||||||
@ -1496,6 +1523,11 @@ static void test_acpi_microvm_rtc_tcg(void)
|
|||||||
{
|
{
|
||||||
test_data data;
|
test_data data;
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-blk-device")) {
|
||||||
|
g_test_skip("Device virtio-blk-device is not available");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
test_acpi_microvm_prepare(&data);
|
test_acpi_microvm_prepare(&data);
|
||||||
data.variant = ".rtc";
|
data.variant = ".rtc";
|
||||||
test_acpi_one(" -machine microvm,acpi=on,ioapic2=off,rtc=on",
|
test_acpi_one(" -machine microvm,acpi=on,ioapic2=off,rtc=on",
|
||||||
@ -1507,6 +1539,11 @@ static void test_acpi_microvm_pcie_tcg(void)
|
|||||||
{
|
{
|
||||||
test_data data;
|
test_data data;
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-blk-device")) {
|
||||||
|
g_test_skip("Device virtio-blk-device is not available");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
test_acpi_microvm_prepare(&data);
|
test_acpi_microvm_prepare(&data);
|
||||||
data.variant = ".pcie";
|
data.variant = ".pcie";
|
||||||
data.tcg_only = true; /* need constant host-phys-bits */
|
data.tcg_only = true; /* need constant host-phys-bits */
|
||||||
@ -1519,6 +1556,11 @@ static void test_acpi_microvm_ioapic2_tcg(void)
|
|||||||
{
|
{
|
||||||
test_data data;
|
test_data data;
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-blk-device")) {
|
||||||
|
g_test_skip("Device virtio-blk-device is not available");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
test_acpi_microvm_prepare(&data);
|
test_acpi_microvm_prepare(&data);
|
||||||
data.variant = ".ioapic2";
|
data.variant = ".ioapic2";
|
||||||
test_acpi_one(" -machine microvm,acpi=on,ioapic2=on,rtc=off",
|
test_acpi_one(" -machine microvm,acpi=on,ioapic2=on,rtc=off",
|
||||||
@ -1558,6 +1600,12 @@ static void test_acpi_virt_tcg_pxb(void)
|
|||||||
.ram_start = 0x40000000ULL,
|
.ram_start = 0x40000000ULL,
|
||||||
.scan_len = 128ULL * 1024 * 1024,
|
.scan_len = 128ULL * 1024 * 1024,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!qtest_has_device("pcie-root-port")) {
|
||||||
|
g_test_skip("Device pcie-root-port is not available");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* While using -cdrom, the cdrom would auto plugged into pxb-pcie,
|
* While using -cdrom, the cdrom would auto plugged into pxb-pcie,
|
||||||
* the reason is the bus of pxb-pcie is also root bus, it would lead
|
* the reason is the bus of pxb-pcie is also root bus, it would lead
|
||||||
@ -1576,7 +1624,7 @@ static void test_acpi_virt_tcg_pxb(void)
|
|||||||
" -cpu cortex-a57"
|
" -cpu cortex-a57"
|
||||||
" -device pxb-pcie,bus_nr=128",
|
" -device pxb-pcie,bus_nr=128",
|
||||||
&data);
|
&data);
|
||||||
|
out:
|
||||||
free_test_data(&data);
|
free_test_data(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1764,6 +1812,12 @@ static void test_acpi_microvm_acpi_erst(void)
|
|||||||
gchar *params;
|
gchar *params;
|
||||||
test_data data;
|
test_data data;
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-blk-device")) {
|
||||||
|
g_test_skip("Device virtio-blk-device is not available");
|
||||||
|
g_free(tmp_path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
test_acpi_microvm_prepare(&data);
|
test_acpi_microvm_prepare(&data);
|
||||||
data.variant = ".pcie";
|
data.variant = ".pcie";
|
||||||
data.tcg_only = true; /* need constant host-phys-bits */
|
data.tcg_only = true; /* need constant host-phys-bits */
|
||||||
@ -1824,6 +1878,11 @@ static void test_acpi_q35_viot(void)
|
|||||||
.variant = ".viot",
|
.variant = ".viot",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-iommu")) {
|
||||||
|
g_test_skip("Device virtio-iommu is not available");
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To keep things interesting, two buses bypass the IOMMU.
|
* To keep things interesting, two buses bypass the IOMMU.
|
||||||
* VIOT should only describes the other two buses.
|
* VIOT should only describes the other two buses.
|
||||||
@ -1834,6 +1893,7 @@ static void test_acpi_q35_viot(void)
|
|||||||
"-device pxb-pcie,bus_nr=0x20,id=pcie.200,bus=pcie.0,bypass_iommu=on "
|
"-device pxb-pcie,bus_nr=0x20,id=pcie.200,bus=pcie.0,bypass_iommu=on "
|
||||||
"-device pxb-pcie,bus_nr=0x30,id=pcie.300,bus=pcie.0",
|
"-device pxb-pcie,bus_nr=0x30,id=pcie.300,bus=pcie.0",
|
||||||
&data);
|
&data);
|
||||||
|
out:
|
||||||
free_test_data(&data);
|
free_test_data(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1894,8 +1954,10 @@ static void test_acpi_virt_viot(void)
|
|||||||
.scan_len = 128ULL * 1024 * 1024,
|
.scan_len = 128ULL * 1024 * 1024,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (qtest_has_device("virtio-iommu")) {
|
||||||
test_acpi_one("-cpu cortex-a57 "
|
test_acpi_one("-cpu cortex-a57 "
|
||||||
"-device virtio-iommu-pci", &data);
|
"-device virtio-iommu-pci", &data);
|
||||||
|
}
|
||||||
free_test_data(&data);
|
free_test_data(&data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2004,6 +2066,11 @@ static void test_acpi_microvm_oem_fields(void)
|
|||||||
test_data data;
|
test_data data;
|
||||||
char *args;
|
char *args;
|
||||||
|
|
||||||
|
if (!qtest_has_device("virtio-blk-device")) {
|
||||||
|
g_test_skip("Device virtio-blk-device is not available");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
test_acpi_microvm_prepare(&data);
|
test_acpi_microvm_prepare(&data);
|
||||||
|
|
||||||
args = test_acpi_create_args(&data,
|
args = test_acpi_create_args(&data,
|
||||||
|
Loading…
Reference in New Issue
Block a user