[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/15] tests/acpi-test: do not fail if iasl is broken
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 15/15] tests/acpi-test: do not fail if iasl is broken |
Date: |
Mon, 24 Mar 2014 13:25:55 +0200 |
From: Marcel Apfelbaum <address@hidden>
There is an issue with iasl on big endian machines: It
cannot disassemble acpi tables taken from little endian
machines, so we cannot check the expected tables.
The acpi test will check if the expected aml files
can be disassembled, and will issue an warning not
failing the test on those machines until this
problem is solved by the acpica community.
Signed-off-by: Marcel Apfelbaum <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
tests/acpi-test.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/tests/acpi-test.c b/tests/acpi-test.c
index 249fe03..76fbccf 100644
--- a/tests/acpi-test.c
+++ b/tests/acpi-test.c
@@ -456,13 +456,12 @@ static bool load_asl(GArray *sdts, AcpiSdtTable *sdt)
/* pass 'out' and 'out_err' in order to be redirected */
ret = g_spawn_command_line_sync(command_line->str, &out, &out_err, NULL,
&error);
g_assert_no_error(error);
-
if (ret) {
ret = g_file_get_contents(sdt->asl_file, (gchar **)&sdt->asl,
&sdt->asl_len, &error);
g_assert(ret);
g_assert_no_error(error);
- g_assert(sdt->asl_len);
+ ret = (sdt->asl_len > 0);
}
g_free(out);
@@ -560,15 +559,20 @@ static void test_acpi_asl(test_data *data)
g_assert(!err || exp_err);
if (g_strcmp0(asl->str, exp_asl->str)) {
- uint32_t signature = cpu_to_le32(exp_sdt->header.signature);
- sdt->tmp_files_retain = true;
- exp_sdt->tmp_files_retain = true;
- fprintf(stderr,
- "acpi-test: Warning! %.4s mismatch. "
- "Actual [asl:%s, aml:%s], Expected [asl:%s, aml:%s].\n",
- (gchar *)&signature,
- sdt->asl_file, sdt->aml_file,
- exp_sdt->asl_file, exp_sdt->aml_file);
+ if (exp_err) {
+ fprintf(stderr,
+ "Warning! iasl couldn't parse the expected aml\n");
+ } else {
+ uint32_t signature = cpu_to_le32(exp_sdt->header.signature);
+ sdt->tmp_files_retain = true;
+ exp_sdt->tmp_files_retain = true;
+ fprintf(stderr,
+ "acpi-test: Warning! %.4s mismatch. "
+ "Actual [asl:%s, aml:%s], Expected [asl:%s,
aml:%s].\n",
+ (gchar *)&signature,
+ sdt->asl_file, sdt->aml_file,
+ exp_sdt->asl_file, exp_sdt->aml_file);
+ }
}
g_string_free(asl, true);
g_string_free(exp_asl, true);
--
MST
- [Qemu-devel] [PULL 04/15] pc: Refuse CPU hotplug if the resulting APIC ID is too large, (continued)
- [Qemu-devel] [PULL 04/15] pc: Refuse CPU hotplug if the resulting APIC ID is too large, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 05/15] acpi: Assert sts array limit on AcpiCpuHotplug_add(), Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 06/15] acpi: Don't use MAX_CPUMASK_BITS for APIC ID bitmap, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 07/15] pc: Refuse max_cpus if it results in too large APIC ID, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 08/15] i386/acpi-build: allow more than 255 elements in CPON, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 09/15] acpi-test: rebuild SSDT, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 10/15] i386/acpi-build: support hotplug of VCPU with APIC ID 0xFF, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 11/15] acpi-test: signature endian-ness fixes, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 12/15] acpi: fix endian-ness for table ids, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 14/15] vl.c: Use MAX_CPUMASK_BITS macro instead of hardcoded constant, Michael S. Tsirkin, 2014/03/24
- [Qemu-devel] [PULL 15/15] tests/acpi-test: do not fail if iasl is broken,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 13/15] sysemu.h: Document what MAX_CPUMASK_BITS really limits, Michael S. Tsirkin, 2014/03/24
- Re: [Qemu-devel] [PULL 00/15] acpi,pc,test bug fixes, Peter Maydell, 2014/03/24