Message ID | 20240227154749.1818189-2-imammedo@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Workaround Windows failing to find 64bit SMBIOS entry point with SeaBIOS | expand |
> On 27-Feb-2024, at 21:17, Igor Mammedov <imammedo@redhat.com> wrote: > > 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> > --- > 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,16 +858,8 @@ static void test_vm_prepare(const char *params, test_data *data) > g_free(args); > } > > -static void process_acpi_tables_noexit(test_data *data) > +static void process_smbios_tables_noexit(test_data *data) > { > - test_acpi_load_tables(data); > - > - if (getenv(ACPI_REBUILD_EXPECTED_AML)) { > - dump_aml_files(data, true); > - } else { > - test_acpi_asl(data); > - } > - > /* > * TODO: make SMBIOS tests work with UEFI firmware, > * Bug on uefi-test-tools to provide entry point: > @@ -879,6 +871,27 @@ static void process_acpi_tables_noexit(test_data *data) > } > } > > +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); > + > + if (getenv(ACPI_REBUILD_EXPECTED_AML)) { > + dump_aml_files(data, true); > + } else { > + test_acpi_asl(data); > + } > + > + process_smbios_tables_noexit(data); > +} > + > static void process_acpi_tables(test_data *data) > { > process_acpi_tables_noexit(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); > -- > 2.39.3 >
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,16 +858,8 @@ static void test_vm_prepare(const char *params, test_data *data) g_free(args); } -static void process_acpi_tables_noexit(test_data *data) +static void process_smbios_tables_noexit(test_data *data) { - test_acpi_load_tables(data); - - if (getenv(ACPI_REBUILD_EXPECTED_AML)) { - dump_aml_files(data, true); - } else { - test_acpi_asl(data); - } - /* * TODO: make SMBIOS tests work with UEFI firmware, * Bug on uefi-test-tools to provide entry point: @@ -879,6 +871,27 @@ static void process_acpi_tables_noexit(test_data *data) } } +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); + + if (getenv(ACPI_REBUILD_EXPECTED_AML)) { + dump_aml_files(data, true); + } else { + test_acpi_asl(data); + } + + process_smbios_tables_noexit(data); +} + static void process_acpi_tables(test_data *data) { process_acpi_tables_noexit(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);
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> --- tests/qtest/bios-tables-test.c | 47 +++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 9 deletions(-)