qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>,
	"John Snow" <jsnow@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org,
	"Cleber Rosa" <crosa@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Hanna Reitz" <hreitz@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>, "Kevin Wolf" <kwolf@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>
Subject: Re: [RFC PATCH 0/9] tests: run python tests under the build/tests/venv environment
Date: Fri, 13 May 2022 11:45:06 +0200	[thread overview]
Message-ID: <49979c50-011c-c168-205e-10baa7c760d3@redhat.com> (raw)
In-Reply-To: <Yn4YS1FpgtCZMMx6@redhat.com>

On 5/13/22 10:35, Daniel P. Berrangé wrote:
> The tests is an area where we still have too much taking place in
> Makefiles, as opposed to meson. Can we put a rule in
> tests/meson.build to trigger the ven creation ? Gets us closer to
> being able to run ninja without using make as a wrapper.

I don't think this is or even should be a goal, because we have multiple 
projects under the QEMU tree:

- the QEMU binaries proper (emulators, tools, etc.)

- the firmware (pc-bios/{vof,s390-ccw,optionrom} with sources, the rest 
as submodules)

- tests/tcg


Each of these has its own build system and it's not possible to unify 
them under a single meson-based build:

- tests/tcg supports cross compilation for a different target, and 
pc-bios/ firmware will soon follow suit (which is why these directories 
haven't been converted to Meson, even though patches exist)

- firmware outside pc-bios/ consists of many external projects each with 
its own build system; right now it is not even buildable except by magic 
invocations that no one really knows

On top of this, there's support for building Docker images for 
cross-compilation which obviously doesn't fit the Meson usecases either.

In other words, Meson is the build system for QEMU *executables* (and 
that's why tests for the QEMU executables are being moved from configure 
to meson), but not for QEMU as a whole.


So I don't expect configure and Make to disappear.  Meson is great at 
building a C program as big as QEMU; but QEMU is not just a C program, 
and isolating the C parts into Meson lets Make handle the rest of the 
complexity better than before, for example with cross compiled firmware 
support.

Likewise, we're now using "meson test" for "make check" and a custom 
runner for "make check-block"; but perhaps one day Avocado could replace 
both runners via custom Avocado resolvers (basically JSON emitters 
similar to Meson introspection data).  That of course depends on whether 
Avocado has feature parity with "meson test".

Paolo


  reply	other threads:[~2022-05-13  9:46 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13  0:06 [RFC PATCH 0/9] tests: run python tests under the build/tests/venv environment John Snow
2022-05-13  0:06 ` [RFC PATCH 1/9] python: update for mypy 0.950 John Snow
2022-05-13  8:42   ` Paolo Bonzini
2022-05-13 14:09     ` John Snow
2022-05-13  0:06 ` [RFC PATCH 2/9] tests: add "TESTS_PYTHON" variable to Makefile John Snow
2022-05-13  8:23   ` Paolo Bonzini
2022-05-13  0:06 ` [RFC PATCH 3/9] tests: install "qemu" namespace package into venv John Snow
2022-05-13  8:26   ` Paolo Bonzini
2022-05-13 14:01     ` John Snow
2022-05-13  0:06 ` [RFC PATCH 4/9] tests: silence pip upgrade warnings during venv creation John Snow
2022-05-13  8:27   ` Paolo Bonzini
2022-05-13 14:02     ` John Snow
2022-05-13  0:06 ` [RFC PATCH 5/9] tests: use tests/venv to run basevm.py-based scripts John Snow
2022-05-13  8:33   ` Paolo Bonzini
2022-05-13  0:06 ` [RFC PATCH 6/9] tests: add check-venv as a dependency of check and check-block John Snow
2022-05-13  8:41   ` Paolo Bonzini
2022-05-13 14:12     ` John Snow
2022-05-13 15:34       ` Paolo Bonzini
2022-05-13 16:08         ` John Snow
2022-05-13  0:06 ` [RFC PATCH 7/9] tests: add check-venv to build-tcg-disabled CI recipe John Snow
2022-05-13  8:41   ` Paolo Bonzini
2022-05-13  0:06 ` [RFC PATCH 8/9] iotests: fix source directory location John Snow
2022-05-13  8:35   ` Paolo Bonzini
2022-05-13  0:06 ` [RFC PATCH 9/9] iotests: use tests/venv for running tests John Snow
2022-05-13  8:38   ` Paolo Bonzini
2022-05-13 14:38     ` John Snow
2022-05-13 15:33       ` Paolo Bonzini
2022-05-13 16:00         ` John Snow
2022-05-14 15:55         ` John Snow
2022-05-16  7:41           ` Paolo Bonzini
2022-05-17 23:51             ` John Snow
2022-05-18 10:38               ` Paolo Bonzini
2022-05-13  8:35 ` [RFC PATCH 0/9] tests: run python tests under the build/tests/venv environment Daniel P. Berrangé
2022-05-13  9:45   ` Paolo Bonzini [this message]
2022-05-13 10:29   ` Daniel P. Berrangé
2022-05-13 15:55     ` John Snow
2022-05-13 16:07       ` Daniel P. Berrangé
2022-05-13 16:49         ` Paolo Bonzini
2022-05-13 19:09           ` John Snow
2022-05-13 12:57   ` Kevin Wolf
2022-05-13 15:25   ` John Snow
2022-05-13 10:20 ` Paolo Bonzini
2022-05-13 15:39   ` John Snow
2022-05-13 16:07     ` Paolo Bonzini

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=49979c50-011c-c168-205e-10baa7c760d3@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=crosa@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=hreitz@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.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).