tests: acpi: do not skip tests when IASL is not installed

tests do binary comparision so we can check tables without
IASL. Move IASL condition right before decompilation step
and skip it if IASL is not installed.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190708092410.11167-3-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Igor Mammedov 2019-07-08 05:24:10 -04:00 committed by Michael S. Tsirkin
parent ab31b3373e
commit 7b9829bc6c
1 changed files with 14 additions and 1 deletions

View File

@ -389,6 +389,14 @@ static void test_acpi_asl(test_data *data)
all_tables_match = all_tables_match &&
test_acpi_find_diff_allowed(exp_sdt);
/*
* don't try to decompile if IASL isn't present, in this case user
* will just 'get binary file mismatch' warnings and test failure
*/
if (!iasl) {
continue;
}
err = load_asl(data->tables, sdt);
asl = normalize_asl(sdt->asl);
@ -431,6 +439,11 @@ static void test_acpi_asl(test_data *data)
g_string_free(asl, true);
g_string_free(exp_asl, true);
}
if (!iasl && !all_tables_match) {
fprintf(stderr, "to see ASL diff between mismatched files install IASL,"
" rebuild QEMU from scratch and re-run tests with V=1"
" environment variable set");
}
g_assert(all_tables_match);
free_test_data(&exp_data);
@ -599,7 +612,7 @@ static void test_acpi_one(const char *params, test_data *data)
if (getenv(ACPI_REBUILD_EXPECTED_AML)) {
dump_aml_files(data, true);
} else if (iasl) {
} else {
test_acpi_asl(data);
}