[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is
From: |
Marcel Apfelbaum |
Subject: |
[Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken |
Date: |
Mon, 24 Mar 2014 12:02:33 +0200 |
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>
---
V3 -> V4:
Addressed all upstream comments:
- Instead of disabling iasl for big endian machines,
the test checks if the expected aml files can be
disassembled, if not it issues a warning instead
of failing the test
V2 -> V3:
Addressed Michael S. Tsirkin's review:
- tests don't need to re-run detection, use configure
to figure out if it is an LE machine.
V1 -> V2:
Addressed an offline tip for a much cleaner
macro line, thanks!
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);
--
1.8.3.1
- [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken,
Marcel Apfelbaum <=
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Andreas Färber, 2014/03/24
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Marcel Apfelbaum, 2014/03/24
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Stefan Hajnoczi, 2014/03/24
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Peter Maydell, 2014/03/24
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Marcel Apfelbaum, 2014/03/24
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Marcel Apfelbaum, 2014/03/24
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Marcel Apfelbaum, 2014/03/24
- Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Andreas Färber, 2014/03/24
Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken, Michael S. Tsirkin, 2014/03/24