On Mon, Mar 24, 2014 at 02:17:10PM +0200, Marcel Apfelbaum wrote: > On Mon, 2014-03-24 at 11:33 +0100, Andreas Färber 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. > > > > > > 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 <marce...@redhat.com> > > > --- > > > 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"); > > > > 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.
Did you try running gtester without -q or even with -v? (You can edit tests/Makefile to do that.) Stefan