acpi unit-test: do not fail on asl mismatch

The asl comparison will break every time the ACPI
tables are updated. This may break the git bisect.
Instead of failing print a warning on stderr
including the retained asl files, so they can be
compared offline.

Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Marcel Apfelbaum 2014-01-16 17:50:48 +02:00 committed by Michael S. Tsirkin
parent 69d09245d1
commit 0651596cbe
1 changed files with 11 additions and 2 deletions

View File

@ -34,6 +34,7 @@ typedef struct {
gchar *asl; /* asl code generated from aml */
gsize asl_len;
gchar *asl_file;
bool asl_file_retain; /* do not delete the temp asl */
} QEMU_PACKED AcpiSdtTable;
typedef struct {
@ -161,7 +162,7 @@ static void free_test_data(test_data *data)
g_free(temp->asl);
}
if (temp->asl_file) {
if (g_strstr_len(temp->asl_file, -1, "asl-")) {
if (!temp->asl_file_retain) {
unlink(temp->asl_file);
}
g_free(temp->asl_file);
@ -532,7 +533,15 @@ static void test_acpi_asl(test_data *data)
load_asl(exp_data.tables, exp_sdt);
exp_asl = normalize_asl(exp_sdt->asl);
g_assert(!g_strcmp0(asl->str, exp_asl->str));
if (g_strcmp0(asl->str, exp_asl->str)) {
sdt->asl_file_retain = true;
exp_sdt->asl_file_retain = true;
fprintf(stderr,
"acpi-test: Warning! %.4s mismatch. "
"Orig asl: %s, expected asl %s.\n",
(gchar *)&exp_sdt->header.signature,
sdt->asl_file, exp_sdt->asl_file);
}
g_string_free(asl, true);
g_string_free(exp_asl, true);
}