From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46888) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WS3oG-0001KC-3V for qemu-devel@nongnu.org; Mon, 24 Mar 2014 08:17:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WS3oA-0007mA-3r for qemu-devel@nongnu.org; Mon, 24 Mar 2014 08:16:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:10458) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WS3o9-0007m3-Rb for qemu-devel@nongnu.org; Mon, 24 Mar 2014 08:16:50 -0400 Message-ID: <1395663430.2354.6.camel@localhost.localdomain> From: Marcel Apfelbaum Date: Mon, 24 Mar 2014 14:17:10 +0200 In-Reply-To: <53300A11.2030707@suse.de> References: <1395655353-19051-1-git-send-email-marcel.a@redhat.com> <53300A11.2030707@suse.de> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andreas =?ISO-8859-1?Q?F=E4rber?= Cc: peter.maydell@linaro.org, mst@redhat.com, aik@ozlabs.ru, qemu-devel@nongnu.org, Stefan Hajnoczi , pbonzini@redhat.com On Mon, 2014-03-24 at 11:33 +0100, Andreas F=C3=A4rber wrote: > Am 24.03.2014 11:02, schrieb Marcel Apfelbaum: > > 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. > >=20 > > 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. > >=20 > > Signed-off-by: Marcel Apfelbaum > > --- > > 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 > >=20 > > 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. > >=20 > > V1 -> V2: > > Addressed an offline tip for a much cleaner > > macro line, thanks! > >=20 > > tests/acpi-test.c | 26 +++++++++++++++----------- > > 1 file changed, 15 insertions(+), 11 deletions(-) > >=20 > > 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 =3D g_spawn_command_line_sync(command_line->str, &out, &out_= err, NULL, &error); > > g_assert_no_error(error); > > - > > if (ret) { > > ret =3D g_file_get_contents(sdt->asl_file, (gchar **)&sdt->a= sl, > > &sdt->asl_len, &error); > > g_assert(ret); > > g_assert_no_error(error); > > - g_assert(sdt->asl_len); > > + ret =3D (sdt->asl_len > 0); > > } > > =20 > > g_free(out); > > @@ -560,15 +559,20 @@ static void test_acpi_asl(test_data *data) > > g_assert(!err || exp_err); > > =20 > > if (g_strcmp0(asl->str, exp_asl->str)) { > > - uint32_t signature =3D cpu_to_le32(exp_sdt->header.signa= ture); > > - sdt->tmp_files_retain =3D true; > > - exp_sdt->tmp_files_retain =3D 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 a= ml\n"); >=20 > Should these two be g_test_message()s? That's used in other tests - > downside is the message appears in the .xml files generated as > intermediary for the HTML report but did (in my case) not show up on > stdout/stderr. Maybe we should try to fix that? Paolo? Stefan? I also don't see them in stdout/stderr. This is the *only* reason I use fprintf. Thanks, Marcel >=20 > Regards, > Andreas >=20 > > + } else { > > + uint32_t signature =3D cpu_to_le32(exp_sdt->header.s= ignature); > > + sdt->tmp_files_retain =3D true; > > + exp_sdt->tmp_files_retain =3D 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); > >=20 >=20 >=20