aboutsummaryrefslogtreecommitdiff
path: root/tests/acpi-test.c
diff options
context:
space:
mode:
authorMarcel Apfelbaum <marcel.a@redhat.com>2014-01-16 17:50:48 +0200
committerMichael S. Tsirkin <mst@redhat.com>2014-01-26 13:06:49 +0200
commit0651596cbed8c0806aa2d7e436201f28b2fe179a (patch)
tree58279e064d87310a91856f83a8d27319fd0a2a63 /tests/acpi-test.c
parent69d09245d19765fd461cc3d3a7d79686007c4474 (diff)
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>
Diffstat (limited to 'tests/acpi-test.c')
-rw-r--r--tests/acpi-test.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/acpi-test.c b/tests/acpi-test.c
index 6095d07d04..31f5359787 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);
}