qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Ani Sinha <ani@anisinha.ca>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Daniel P . Berrangé" <berrange@redhat.com>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"John Snow" <jsnow@redhat.com>,
	"Maydell Peter" <peter.maydell@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Qemu Devel" <qemu-devel@nongnu.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>
Subject: Re: [PATCH v6 00/10] Introduce new acpi/smbios avocado tests using biosbits
Date: Fri, 21 Oct 2022 16:53:54 +0100	[thread overview]
Message-ID: <87pmel5fm7.fsf@linaro.org> (raw)
In-Reply-To: <CAARzgwy8iEDxet6bHxe4AqU=9qQfC=pk=QWoLdF+rz61T1+bMQ@mail.gmail.com>


Ani Sinha <ani@anisinha.ca> writes:

> On Fri, 21 Oct, 2022, 5:52 pm Ani Sinha, <ani@anisinha.ca> wrote:
>
>  On Fri, 21 Oct, 2022, 5:26 pm Alex Bennée, <alex.bennee@linaro.org> wrote:
>
>  Ani Sinha <ani@anisinha.ca> writes:
>
>  > On Fri, Oct 21, 2022 at 3:10 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>  >>
>  >> On Fri, Oct 21, 2022 at 10:30:09AM +0100, Alex Bennée wrote:
>  >> >
>  >> > Ani Sinha <ani@anisinha.ca> writes:
>  >> >
>  >> > > On Fri, Oct 21, 2022 at 2:02 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>  >> > >>
>  >> > >> On Fri, Oct 21, 2022 at 05:45:15AM +0530, Ani Sinha wrote:
>  >> > >> > And have multiple platform specific branches in bits that have fixes for those
>  >> > >> > platforms so that bits can run there. Plus the existing test can be enhanced to
>  >> > >> > pull in binaries from those branches based on the platform on which it is being
>  >> > >> > run.
>  >> > >> >
>  >> > >>
>  >> > >> What a mess.
>  >> > >> Who is going to be testing all these million platforms?
>  >> > >
>  >> > > I am not talking about branches in QEMU but branches in bits.
>  >> > > If you are going to test multiple platforms, you do need to build bits
>  >> > > binaries for them. There is no way around it.
>  >> > > bits is not all platform independent python. It does have binary executables.
>  >> > >
>  >> > > Currently bits is built only for the x86 platform. Other platforms are
>  >> > > not tested. I doubt if anyone even tried building bits for arm or
>  >> > > mips.
>  >> >
>  >> > I'm not worried about test bits on other targets, but we do run x86
>  >> > targets on a number of hosts. The current reliance on a special patched
>  >> > host build tool for only one architecture is the problem. If  we just
>  >> > download the iso that problem goes away.
>  >>
>  >> 👍what he said.
>  >
>  > Yes, in that case the problem is that upstream bits does not pass all
>  > the test out of the box. Hence we are taking this approach of keeping
>  > some test scripts in QEMU repo and modifying them. Then generating the
>  > iso with the modified scripts. It also helps developers who want to
>  > write new tests or make enhancements to existing tests.
>  > If modifications need to be made to tests, they need to be versioned.
>  > We have gone through the route of not using submodules and I am not
>  > going to open that can of worms again.
>
>  We have added a mirror of biosbits to the QEMU project so there is no
>  reason why we can't track changes and modifications there (we do this
>  for TestFloat which is forked from the upstream SoftFloat code).
>
>  The whole idea was that say an acpi developer added support for a new table in QEMU, he should write a
>  corresponding test for bits so that the same table is exercised during run time. Making those changes from a single
>  repo (either directly or through a submodule)  makes things lit simpler and also keeps things in sync with each
>  other. If we use separate repos for acpi bits test, it will be another mess when comes to developers adding changes
>  and keeping things in sync.

For people that care about ACPI it shouldn't be that hard. Most QEMU
developers have separate repos of test cases that aren't directly
integrated into QEMU for various things (e.g. RISU, semihosting,
baremetal, kvm-unit-tests, LTP).

> Not only this. let's look at the developers workflow.
>
> (A) check out bits repo.
> (B) write new test.
> (C) build the bits iso.
> (D) get back to QEMU repo.
> (E) point the test to the new iso so that the test gets executed.

This seems like a long winded workflow. Usually you test your binaries
before integrating them into the acceptance tests. All you need is a
script to launch qemu (either system or point at a developer binary) and
run directly. Only once you are happy with the final ISO would you
upload and then integrate into check-acceptance.

> (F) oops something failed. So let's rinse and repeat.
> (G) once ready, send a PR for bits repo. update tags and figure out how gitlab ci works so that the QEMU test can point to
> it. To do that figure out the artefact  hash and other parameters.
> (H) send a patch for QEMU repo to update the test to point to new iso.
>
> How complicated is that? How complicated will it be for the reviewer? Right now the developer can simply make changes
> from a single repo and run a avocado test and check logs for failures. Once test is fixed, they can run the test again to
> make sure everything passes. Once done, commit the test in QEMU repo. If the test exercises a new table we make sure
> that the commits adding the new table is already present before the test that exercises it is committed. Send a patch for
> review. The reviewer applies the patch and simply runs the avocado test from QEMU repo. Everything is in one place. No
> back and forth between two repos. A lot like "make check".

We do indeed build tests for a lot of make check (unit, qtest, tcg) but
they build on all our host architectures and have configure machinery to
make them optional if host binaries are missing. For avocado tests we
typically are using other peoples binaries so this series is a departure
from that model.

-- 
Alex Bennée


  reply	other threads:[~2022-10-21 16:57 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20 12:34 [PATCH v6 00/10] Introduce new acpi/smbios avocado tests using biosbits Ani Sinha
2022-10-20 12:34 ` [PATCH v6 01/10] acpi/tests/avocado/bits: initial commit of test scripts that are run by biosbits Ani Sinha
2022-10-20 17:27   ` Alex Bennée
2022-10-20 12:34 ` [PATCH v6 02/10] acpi/tests/avocado/bits: add SPDX license identifiers for bios bits tests Ani Sinha
2022-10-20 12:34 ` [PATCH v6 03/10] acpi/tests/avocado/bits: disable acpi PSS tests that are failing in biosbits Ani Sinha
2022-10-20 17:27   ` Alex Bennée
2022-10-20 12:35 ` [PATCH v6 04/10] acpi/tests/avocado/bits: add smilatency test suite from bits in order to disable it Ani Sinha
2022-10-20 12:35 ` [PATCH v6 05/10] acpi/tests/avocado/bits: add SPDX license identifiers for bios bits smilatency tests Ani Sinha
2022-10-20 17:43   ` Alex Bennée
2022-10-20 12:35 ` [PATCH v6 06/10] acpi/tests/avocado/bits: disable smilatency test since it does not pass everytime Ani Sinha
2022-10-20 17:46   ` Alex Bennée
2022-10-21  8:39     ` Ani Sinha
2022-10-20 12:35 ` [PATCH v6 07/10] acpi/tests/avocado/bits: add biosbits config file for running bios tests Ani Sinha
2022-10-20 17:47   ` Alex Bennée
2022-10-21  5:37     ` Ani Sinha
2022-10-20 12:35 ` [PATCH v6 08/10] acpi/tests/avocado/bits: add acpi and smbios avocado tests that uses biosbits Ani Sinha
2022-10-20 17:30   ` Alex Bennée
2022-10-20 12:35 ` [PATCH v6 09/10] acpi/tests/avocado/bits/doc: add a doc file to describe the acpi bits test Ani Sinha
2022-10-20 17:08   ` Alex Bennée
2022-10-20 12:35 ` [PATCH v6 10/10] MAINTAINERS: add myself as the maintainer for acpi biosbits avocado tests Ani Sinha
2022-10-20 12:38 ` [PATCH v6 00/10] Introduce new acpi/smbios avocado tests using biosbits Michael S. Tsirkin
2022-10-20 12:42   ` Ani Sinha
2022-10-20 12:45     ` Michael S. Tsirkin
2022-10-20 12:50       ` Ani Sinha
2022-10-20 19:13         ` Michael S. Tsirkin
2022-10-20 23:40           ` Ani Sinha
2022-10-21  0:15             ` Ani Sinha
2022-10-21  8:32               ` Michael S. Tsirkin
2022-10-21  8:43                 ` Ani Sinha
2022-10-21  9:30                   ` Alex Bennée
2022-10-21  9:40                     ` Michael S. Tsirkin
2022-10-21  9:58                       ` Ani Sinha
2022-10-21 11:52                         ` Alex Bennée
2022-10-21 12:22                           ` Ani Sinha
2022-10-21 13:13                             ` Ani Sinha
2022-10-21 15:53                               ` Alex Bennée [this message]
2022-10-21 16:11                                 ` Ani Sinha
2022-10-22  0:58                                 ` Ani Sinha
2022-10-22 16:35                                   ` Michael S. Tsirkin
2022-10-22 16:43                                     ` Ani Sinha
2022-10-22 16:47                                       ` Michael S. Tsirkin
2022-10-22 10:56                                 ` Ani Sinha
2022-10-21 16:03                             ` Alex Bennée
2022-10-21 16:17                               ` Ani Sinha
2022-10-22 16:45                                 ` Michael S. Tsirkin
2022-10-22 17:34                                   ` Ani Sinha
2022-10-21  8:20             ` Michael S. Tsirkin
2022-10-21 11:42               ` Ani Sinha
2022-10-22 16:40                 ` Michael S. Tsirkin
2022-10-22 16:44                   ` Ani Sinha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pmel5fm7.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=ani@anisinha.ca \
    --cc=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=crosa@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=imammedo@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).