[Qemu-devel] [PATCH v2 0/8] tests: apci: consolidate and cleanup ACPI test code

Igor Mammedov posted 8 patches 5 years, 4 months ago
Test asan passed
Test checkpatch passed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test docker-clang@ubuntu passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1545920014-114011-1-git-send-email-imammedo@redhat.com
tests/acpi-utils.h       |  44 ++------
tests/acpi-utils.c       |  35 +++++--
tests/bios-tables-test.c | 259 ++++++++++++-----------------------------------
tests/vmgenid-test.c     |  64 ++++--------
4 files changed, 121 insertions(+), 281 deletions(-)
[Qemu-devel] [PATCH v2 0/8] tests: apci: consolidate and cleanup ACPI test code
Posted by Igor Mammedov 5 years, 4 months ago
Changes since v1:
  * rebase on top of current master due to a lots of conflicts with
    'qtest global' removal being merged first
  * drop explicit cast to uint8_t* as sdt->aml is uint8_t* now
  * drop not comment explaining strange offsets as offsets are
    now follow ACPI spec

While working on adding tests for virt/arm board (uefi/XSDT/64-bit table pointers),
I found it's rather difficult to deal with mixed ACPI testing code that we've
collected so far. So instead of just adding a pile of XSDT hacks on top, here
goes small refactoring series:
   * that removes dead code
   * replaces reading tables with a fetch per table everywhere instead of
     mix of field by field and whole table
   * consolidates the way tables are read (reduces code duplication)
   * test no longer depends on ACPI structures from QEMU (i.e. doesn't affected
     by mistakes there) 
   * fixes FACS not being compared against reference tables
Overall test is reduced on ~160LOC and hopefully it makes easier to follow and
add more stuff on top.

PS:
arm/virt test patches fill follow up a separate series on top of this one
for not to mix things up

Git tree for testing:
  https://github.com/imammedo/qemu acpi_tests_cleanup_v2

CC: "Michael S. Tsirkin" <mst@redhat.com>
CC: Thomas Huth <thuth@redhat.com>
CC: Laurent Vivier <lvivier@redhat.com>
CC: Samuel Ortiz <sameo@linux.intel.com>
CC: wainersm@redhat.com


Igor Mammedov (8):
  tests: acpi: use AcpiSdtTable::aml in consistent way
  tests: acpi: make sure FADT is fetched only once
  tests: acpi: simplify rsdt handling
  tests: acpi: reuse fetch_table() for fetching FACS and DSDT
  tests: acpi: reuse fetch_table() in vmgenid-test
  tests: smbios: fetch whole table in one step instead of reading it
    step by step
  tests: acpi: squash sanitize_fadt_ptrs() into test_acpi_fadt_table()
  tests: acpi: use AcpiSdtTable::aml instead of
    AcpiSdtTable::header::signature

 tests/acpi-utils.h       |  44 ++------
 tests/acpi-utils.c       |  35 +++++--
 tests/bios-tables-test.c | 259 ++++++++++++-----------------------------------
 tests/vmgenid-test.c     |  64 ++++--------
 4 files changed, 121 insertions(+), 281 deletions(-)

-- 
2.7.4


Re: [Qemu-devel] [PATCH v2 0/8] tests: apci: consolidate and cleanup ACPI test code
Posted by Thomas Huth 5 years, 3 months ago
On 2018-12-27 15:13, Igor Mammedov wrote:
> Changes since v1:
>   * rebase on top of current master due to a lots of conflicts with
>     'qtest global' removal being merged first

Sorry for that ... I hope it was not too much trouble!

>   * drop explicit cast to uint8_t* as sdt->aml is uint8_t* now
>   * drop not comment explaining strange offsets as offsets are
>     now follow ACPI spec
> 
> While working on adding tests for virt/arm board (uefi/XSDT/64-bit table pointers),
> I found it's rather difficult to deal with mixed ACPI testing code that we've
> collected so far. So instead of just adding a pile of XSDT hacks on top, here
> goes small refactoring series:
>    * that removes dead code
>    * replaces reading tables with a fetch per table everywhere instead of
>      mix of field by field and whole table
>    * consolidates the way tables are read (reduces code duplication)
>    * test no longer depends on ACPI structures from QEMU (i.e. doesn't affected
>      by mistakes there) 
>    * fixes FACS not being compared against reference tables
> Overall test is reduced on ~160LOC and hopefully it makes easier to follow and
> add more stuff on top.
> 
> PS:
> arm/virt test patches fill follow up a separate series on top of this one
> for not to mix things up
> 
> Git tree for testing:
>   https://github.com/imammedo/qemu acpi_tests_cleanup_v2
> 
> CC: "Michael S. Tsirkin" <mst@redhat.com>
> CC: Thomas Huth <thuth@redhat.com>

Do you want me to take this through the qtests tree, or will you take it
through your ACPI tree?

In the latter case, FWIW:
Acked-by: Thomas Huth <thuth@redhat.com>

Re: [Qemu-devel] [PATCH v2 0/8] tests: apci: consolidate and cleanup ACPI test code
Posted by Michael S. Tsirkin 5 years, 3 months ago
On Wed, Jan 02, 2019 at 02:11:23PM +0100, Thomas Huth wrote:
> On 2018-12-27 15:13, Igor Mammedov wrote:
> > Changes since v1:
> >   * rebase on top of current master due to a lots of conflicts with
> >     'qtest global' removal being merged first
> 
> Sorry for that ... I hope it was not too much trouble!
> 
> >   * drop explicit cast to uint8_t* as sdt->aml is uint8_t* now
> >   * drop not comment explaining strange offsets as offsets are
> >     now follow ACPI spec
> > 
> > While working on adding tests for virt/arm board (uefi/XSDT/64-bit table pointers),
> > I found it's rather difficult to deal with mixed ACPI testing code that we've
> > collected so far. So instead of just adding a pile of XSDT hacks on top, here
> > goes small refactoring series:
> >    * that removes dead code
> >    * replaces reading tables with a fetch per table everywhere instead of
> >      mix of field by field and whole table
> >    * consolidates the way tables are read (reduces code duplication)
> >    * test no longer depends on ACPI structures from QEMU (i.e. doesn't affected
> >      by mistakes there) 
> >    * fixes FACS not being compared against reference tables
> > Overall test is reduced on ~160LOC and hopefully it makes easier to follow and
> > add more stuff on top.
> > 
> > PS:
> > arm/virt test patches fill follow up a separate series on top of this one
> > for not to mix things up
> > 
> > Git tree for testing:
> >   https://github.com/imammedo/qemu acpi_tests_cleanup_v2
> > 
> > CC: "Michael S. Tsirkin" <mst@redhat.com>
> > CC: Thomas Huth <thuth@redhat.com>
> 
> Do you want me to take this through the qtests tree, or will you take it
> through your ACPI tree?
> 
> In the latter case, FWIW:
> Acked-by: Thomas Huth <thuth@redhat.com>

I'll merge it, thanks for the ack!