On Mon,  3 May 2021 23:10:19 +0200
Philippe Mathieu-Daudé <phi...@redhat.com> 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é <phi...@redhat.com>
> ---
> v5 had:
> Reviewed-by: Eric Blake <ebl...@redhat.com>
> Reviewed-by: Alex Bennée <alex.ben...@linaro.org>
> 
> 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 <imamm...@redhat.com>

> ---
>  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-XXXXXX";
>  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);


Reply via email to