Re: [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
On Mon, 3 May 2021 23:10:19 +0200 Philippe Mathieu-Daudé wrote: > Now than we can probe if the TCG accelerator is available > at runtime with a QMP command, do it once at the beginning > and only register the tests we can run. > We can then replace the #ifdef'ry by an assertion. > > Signed-off-by: Philippe Mathieu-Daudé > --- > v5 had: > Reviewed-by: Eric Blake > Reviewed-by: Alex Bennée > > v6 is simplified and keeps the same logic, however since > it is different, I'm not keeping the R-b tags. Reviewed-by: Igor Mammedov > --- > tests/qtest/bios-tables-test.c | 14 ++ > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c > index ad877baeb1b..762d154b340 100644 > --- a/tests/qtest/bios-tables-test.c > +++ b/tests/qtest/bios-tables-test.c > @@ -97,6 +97,7 @@ typedef struct { > QTestState *qts; > } test_data; > > +static bool tcg_accel_available; > static char disk[] = "tests/acpi-test-disk-XX"; > static const char *data_dir = "tests/data/acpi"; > #ifdef CONFIG_IASL > @@ -718,12 +719,7 @@ static void test_acpi_one(const char *params, test_data > *data) > char *args; > bool use_uefi = data->uefi_fl1 && data->uefi_fl2; > > -#ifndef CONFIG_TCG > -if (data->tcg_only) { > -g_test_skip("TCG disabled, skipping ACPI tcg_only test"); > -return; > -} > -#endif /* CONFIG_TCG */ > +assert(!data->tcg_only || tcg_accel_available); > > args = test_acpi_create_args(data, params, use_uefi); > data->qts = qtest_init(args); > @@ -1506,6 +1502,8 @@ int main(int argc, char *argv[]) > > g_test_init(&argc, &argv, NULL); > > +tcg_accel_available = qtest_has_accel("tcg"); > + > if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) { > ret = boot_sector_init(disk); > if (ret) { > @@ -1554,10 +1552,10 @@ int main(int argc, char *argv[]) > qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc); > qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2); > qtest_add_func("acpi/microvm/oem-fields", > test_acpi_oem_fields_microvm); > -if (strcmp(arch, "x86_64") == 0) { > +if (strcmp(arch, "x86_64") == 0 && tcg_accel_available) { > qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg); > } > -} else if (strcmp(arch, "aarch64") == 0) { > +} else if (strcmp(arch, "aarch64") == 0 && tcg_accel_available) { > qtest_add_func("acpi/virt", test_acpi_virt_tcg); > qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem); > qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp);
Re: [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
On 5/3/21 11:19 PM, Eric Blake wrote: > On 5/3/21 4:10 PM, Philippe Mathieu-Daudé wrote: >> Now than we can probe if the TCG accelerator is available > > that Oops. I'll wait for Igor review before respinning. > >> at runtime with a QMP command, do it once at the beginning >> and only register the tests we can run. >> We can then replace the #ifdef'ry by an assertion. >> >> Signed-off-by: Philippe Mathieu-Daudé >> --- >> v5 had: >> Reviewed-by: Eric Blake >> Reviewed-by: Alex Bennée >> >> v6 is simplified and keeps the same logic, however since >> it is different, I'm not keeping the R-b tags. >> --- >> tests/qtest/bios-tables-test.c | 14 ++ >> 1 file changed, 6 insertions(+), 8 deletions(-) >> > > Reviewed-by: Eric Blake Thanks! Phil.
Re: [PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
On 5/3/21 4:10 PM, Philippe Mathieu-Daudé wrote: > Now than we can probe if the TCG accelerator is available that > at runtime with a QMP command, do it once at the beginning > and only register the tests we can run. > We can then replace the #ifdef'ry by an assertion. > > Signed-off-by: Philippe Mathieu-Daudé > --- > v5 had: > Reviewed-by: Eric Blake > Reviewed-by: Alex Bennée > > v6 is simplified and keeps the same logic, however since > it is different, I'm not keeping the R-b tags. > --- > tests/qtest/bios-tables-test.c | 14 ++ > 1 file changed, 6 insertions(+), 8 deletions(-) > Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
[PATCH v6 11/12] qtest/bios-tables-test: Make test build-independent from accelerator
Now than we can probe if the TCG accelerator is available at runtime with a QMP command, do it once at the beginning and only register the tests we can run. We can then replace the #ifdef'ry by an assertion. Signed-off-by: Philippe Mathieu-Daudé --- v5 had: Reviewed-by: Eric Blake Reviewed-by: Alex Bennée v6 is simplified and keeps the same logic, however since it is different, I'm not keeping the R-b tags. --- tests/qtest/bios-tables-test.c | 14 ++ 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index ad877baeb1b..762d154b340 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -97,6 +97,7 @@ typedef struct { QTestState *qts; } test_data; +static bool tcg_accel_available; static char disk[] = "tests/acpi-test-disk-XX"; static const char *data_dir = "tests/data/acpi"; #ifdef CONFIG_IASL @@ -718,12 +719,7 @@ static void test_acpi_one(const char *params, test_data *data) char *args; bool use_uefi = data->uefi_fl1 && data->uefi_fl2; -#ifndef CONFIG_TCG -if (data->tcg_only) { -g_test_skip("TCG disabled, skipping ACPI tcg_only test"); -return; -} -#endif /* CONFIG_TCG */ +assert(!data->tcg_only || tcg_accel_available); args = test_acpi_create_args(data, params, use_uefi); data->qts = qtest_init(args); @@ -1506,6 +1502,8 @@ int main(int argc, char *argv[]) g_test_init(&argc, &argv, NULL); +tcg_accel_available = qtest_has_accel("tcg"); + if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) { ret = boot_sector_init(disk); if (ret) { @@ -1554,10 +1552,10 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/microvm/rtc", test_acpi_microvm_rtc); qtest_add_func("acpi/microvm/ioapic2", test_acpi_microvm_ioapic2); qtest_add_func("acpi/microvm/oem-fields", test_acpi_oem_fields_microvm); -if (strcmp(arch, "x86_64") == 0) { +if (strcmp(arch, "x86_64") == 0 && tcg_accel_available) { qtest_add_func("acpi/microvm/pcie", test_acpi_microvm_pcie_tcg); } -} else if (strcmp(arch, "aarch64") == 0) { +} else if (strcmp(arch, "aarch64") == 0 && tcg_accel_available) { qtest_add_func("acpi/virt", test_acpi_virt_tcg); qtest_add_func("acpi/virt/numamem", test_acpi_virt_tcg_numamem); qtest_add_func("acpi/virt/memhp", test_acpi_virt_tcg_memhp); -- 2.26.3