aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/bios-tables-test.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c
index d80ea7f..0ce5518 100644
--- a/tests/bios-tables-test.c
+++ b/tests/bios-tables-test.c
@@ -375,6 +375,20 @@ static void test_acpi_asl(test_data *data)
sdt = &g_array_index(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);
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(exp_asl, true);