Commit 0651596c authored by Marcel Apfelbaum's avatar Marcel Apfelbaum Committed by Michael S. Tsirkin
Browse files

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: default avatarMarcel Apfelbaum <marcel.a@redhat.com>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 69d09245
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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);
    }