From: Marcel Apfelbaum <marce...@redhat.com> 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 <marce...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> --- tests/acpi-test.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/acpi-test.c b/tests/acpi-test.c index 6095d07..31f5359 100644 --- a/tests/acpi-test.c +++ b/tests/acpi-test.c @@ -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); } -- MST