[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/24] tests: smbios: make it possible to write SMBIOS only test
From: |
Michael S. Tsirkin |
Subject: |
[PULL 04/24] tests: smbios: make it possible to write SMBIOS only test |
Date: |
Mon, 18 Mar 2024 12:15:39 -0400 |
From: Igor Mammedov <imammedo@redhat.com>
Cureently it not possible to run SMBIOS test without ACPI one,
which gets into the way when testing ACPI-less configs.
Extract SMBIOS testing into separate routines that could also
be run without ACPI dependency and use that for testing SMBIOS.
As the 1st user add "acpi/piix4/smbios-options" test case.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Ani Sinha <anisinha@redhat.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Message-Id: <20240314152302.2324164-2-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
tests/qtest/bios-tables-test.c | 47 +++++++++++++++++++++++++++-------
1 file changed, 38 insertions(+), 9 deletions(-)
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c
index 21811a1ab5..b2992bafa8 100644
--- a/tests/qtest/bios-tables-test.c
+++ b/tests/qtest/bios-tables-test.c
@@ -858,6 +858,27 @@ static void test_vm_prepare(const char *params, test_data
*data)
g_free(args);
}
+static void process_smbios_tables_noexit(test_data *data)
+{
+ /*
+ * TODO: make SMBIOS tests work with UEFI firmware,
+ * Bug on uefi-test-tools to provide entry point:
+ * https://bugs.launchpad.net/qemu/+bug/1821884
+ */
+ if (!(data->uefi_fl1 && data->uefi_fl2)) {
+ SmbiosEntryPointType ep_type = test_smbios_entry_point(data);
+ test_smbios_structs(data, ep_type);
+ }
+}
+
+static void test_smbios(const char *params, test_data *data)
+{
+ test_vm_prepare(params, data);
+ boot_sector_test(data->qts);
+ process_smbios_tables_noexit(data);
+ qtest_quit(data->qts);
+}
+
static void process_acpi_tables_noexit(test_data *data)
{
test_acpi_load_tables(data);
@@ -868,15 +889,7 @@ static void process_acpi_tables_noexit(test_data *data)
test_acpi_asl(data);
}
- /*
- * TODO: make SMBIOS tests work with UEFI firmware,
- * Bug on uefi-test-tools to provide entry point:
- * https://bugs.launchpad.net/qemu/+bug/1821884
- */
- if (!(data->uefi_fl1 && data->uefi_fl2)) {
- SmbiosEntryPointType ep_type = test_smbios_entry_point(data);
- test_smbios_structs(data, ep_type);
- }
+ process_smbios_tables_noexit(data);
}
static void process_acpi_tables(test_data *data)
@@ -2064,6 +2077,20 @@ static void test_acpi_q35_pvpanic_isa(void)
free_test_data(&data);
}
+static void test_acpi_pc_smbios_options(void)
+{
+ uint8_t req_type11[] = { 11 };
+ test_data data = {
+ .machine = MACHINE_PC,
+ .variant = ".pc_smbios_options",
+ .required_struct_types = req_type11,
+ .required_struct_types_len = ARRAY_SIZE(req_type11),
+ };
+
+ test_smbios("-smbios type=11,value=TEST", &data);
+ free_test_data(&data);
+}
+
static void test_oem_fields(test_data *data)
{
int i;
@@ -2215,6 +2242,8 @@ int main(int argc, char *argv[])
#ifdef CONFIG_POSIX
qtest_add_func("acpi/piix4/acpierst", test_acpi_piix4_acpi_erst);
#endif
+ qtest_add_func("acpi/piix4/smbios-options",
+ test_acpi_pc_smbios_options);
}
if (qtest_has_machine(MACHINE_Q35)) {
qtest_add_func("acpi/q35", test_acpi_q35_tcg);
--
MST
- [PULL 00/24] virtio,pc,pci: bugfixes, Michael S. Tsirkin, 2024/03/18
- [PULL 01/24] SMBIOS: fix long lines, Michael S. Tsirkin, 2024/03/18
- [PULL 03/24] docs/specs/pvpanic: mark shutdown event as not implemented, Michael S. Tsirkin, 2024/03/18
- [PULL 02/24] qapi: document PCIe Gen5/Gen6 speeds since 9.0, Michael S. Tsirkin, 2024/03/18
- [PULL 04/24] tests: smbios: make it possible to write SMBIOS only test,
Michael S. Tsirkin <=
- [PULL 06/24] tests: smbios: add test for legacy mode CLI options, Michael S. Tsirkin, 2024/03/18
- [PULL 05/24] tests: smbios: add test for -smbios type=11 option, Michael S. Tsirkin, 2024/03/18
- [PULL 07/24] smbios: cleanup smbios_get_tables() from legacy handling, Michael S. Tsirkin, 2024/03/18
- [PULL 08/24] smbios: get rid of smbios_smp_sockets global, Michael S. Tsirkin, 2024/03/18
- [PULL 10/24] smbios: avoid mangling user provided tables, Michael S. Tsirkin, 2024/03/18
- [PULL 11/24] smbios: don't check type4 structures in legacy mode, Michael S. Tsirkin, 2024/03/18
- [PULL 09/24] smbios: get rid of smbios_legacy global, Michael S. Tsirkin, 2024/03/18
- [PULL 12/24] smbios: add smbios_add_usr_blob_size() helper, Michael S. Tsirkin, 2024/03/18
- [PULL 13/24] smbios: rename/expose structures/bitmaps used by both legacy and modern code, Michael S. Tsirkin, 2024/03/18
- [PULL 14/24] smbios: build legacy mode code only for 'pc' machine, Michael S. Tsirkin, 2024/03/18