qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH for-2.0 V4] tests/acpi-test: do not fail if iasl is broken
Date: Mon, 24 Mar 2014 14:17:10 +0200

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 <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");
> 
> 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

> 
> Regards,
> Andreas
> 
> > +            } 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);
> > 
> 
> 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]