bios-tables-test: ignore identical binaries

when binary of the tables is identical, there is no need to run iasl
to check that they are functionally equivalent.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Michael S. Tsirkin 2019-06-04 23:41:32 -04:00
parent ab6b6a7777
commit 7f36f0930f

View File

@ -375,6 +375,20 @@ static void test_acpi_asl(test_data *data)
sdt = &g_array_index(data->tables, AcpiSdtTable, i); sdt = &g_array_index(data->tables, AcpiSdtTable, i);
exp_sdt = &g_array_index(exp_data.tables, AcpiSdtTable, i); exp_sdt = &g_array_index(exp_data.tables, AcpiSdtTable, i);
if (sdt->aml_len == exp_sdt->aml_len &&
!memcmp(sdt->aml, exp_sdt->aml, sdt->aml_len)) {
/* Identical table binaries: no need to disassemble. */
continue;
}
fprintf(stderr,
"acpi-test: Warning! %.4s binary file mismatch. "
"Actual [aml:%s], Expected [aml:%s].\n",
exp_sdt->aml, sdt->aml_file, exp_sdt->aml_file);
all_tables_match = all_tables_match &&
test_acpi_find_diff_allowed(exp_sdt);
err = load_asl(data->tables, sdt); err = load_asl(data->tables, sdt);
asl = normalize_asl(sdt->asl); asl = normalize_asl(sdt->asl);
@ -413,8 +427,6 @@ static void test_acpi_asl(test_data *data)
} }
} }
} }
all_tables_match = all_tables_match &&
test_acpi_find_diff_allowed(exp_sdt);
} }
g_string_free(asl, true); g_string_free(asl, true);
g_string_free(exp_asl, true); g_string_free(exp_asl, true);